summaryrefslogtreecommitdiffstats
path: root/dxsdk/Include/dmort.h
diff options
context:
space:
mode:
Diffstat (limited to 'dxsdk/Include/dmort.h')
-rw-r--r--dxsdk/Include/dmort.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/dxsdk/Include/dmort.h b/dxsdk/Include/dmort.h
new file mode 100644
index 00000000..cfe25a4a
--- /dev/null
+++ b/dxsdk/Include/dmort.h
@@ -0,0 +1,75 @@
+//------------------------------------------------------------------------------
+// File: DMORt.h
+//
+// Desc: Miscellaneous runtime support for DirectShow Media Objects
+//
+// Copyright (c) 1999 - 2001, Microsoft Corporation. All rights reserved.
+//------------------------------------------------------------------------------
+
+
+#ifndef __DMORT_H__
+#define __DMORT_H__
+
+//
+// Mediatype helpers. MoInitMediaType() goes with MoFreeMediaType(), and
+// MoCreateMediaType() goes with MoDeleteMediaType(). Don't mix them!
+//
+
+
+
+//
+// Takes a pointer to an already allocated DMO_MEDIA_TYPE structure, allocates
+// a format block of cbFormat bytes, and sets appropriate members of
+// DMO_MEDIA_TYPE to point to the newly allocated format block. Also
+// initializes the IUnknown pointer inside DMO_MEDIA_TYPE to NULL.
+//
+// The format block allocated by MoInitMediaType must be freed by calling
+// MoFreeMediaType().
+//
+STDAPI MoInitMediaType(DMO_MEDIA_TYPE *pmt, DWORD cbFormat);
+
+//
+// Frees the format block and releases any IUnknown, but does not free the
+// DMO_MEDIA_TYPE structure itself. Input parameter must point to an
+// DMO_MEDIA_TYPE structure previously initialized by MoInitMediaType().
+//
+STDAPI MoFreeMediaType(DMO_MEDIA_TYPE *pmt);
+
+//
+// Copies the DMO_MEDIA_TYPE members. Also duplicates the format block and
+// the IUnknown pointer. Both parameters must point to valid DMO_MEDIA_TYPE
+// structures. Target structure must be later freed using MoFreeMediaType().
+//
+STDAPI MoCopyMediaType(DMO_MEDIA_TYPE *pmtDest, const DMO_MEDIA_TYPE *pmtSrc);
+
+
+
+//
+// Allocates a new DMO_MEDIA_TYPE structure and initializes it just like
+// MoInitMediaType. I.e., this function allocates both the format block
+// and the DMO_MEDIA_TYPE structure itself. Pointer to DMO_MEDIA_TYPE is
+// returned as *ppmt.
+//
+// DMO_MEDIA_TYPE structures allocated by MoCreateMediaType() must be freed
+// by calling MoDeleteMediaType().
+//
+STDAPI MoCreateMediaType(DMO_MEDIA_TYPE **ppmt, DWORD cbFormat);
+
+//
+// Frees any format block, releases any IUnknown, and deletes the
+// DMO_MEDIA_TYPE structure itself. The input parameter must point to an
+// DMO_MEDIA_TYPE structure previously allocated by MoCreateMediaType().
+//
+STDAPI MoDeleteMediaType(DMO_MEDIA_TYPE *pmt);
+
+//
+// Allocates a new DMO_MEDIA_TYPE structure and copies pmtSrc into it like
+// MoCopyMediaType. I.e., this function allocates a new DMO_MEDIA_TYPE struct
+// as well as a new format block for the target mediatype. Trager mediatype
+// must later be freed using MoDeleteMediaType().
+//
+STDAPI MoDuplicateMediaType(DMO_MEDIA_TYPE **ppmtDest, const DMO_MEDIA_TYPE *pmtSrc);
+
+
+
+#endif //__DMORT_H__