comparison loader/dmo/DMO_Filter.h @ 8294:8e00b6a9e40b

DMO interfaces (copied/converted(c++->c) from avifile)
author arpi
date Tue, 26 Nov 2002 22:54:11 +0000
parents
children de09fcf0b4f1
comparison
equal deleted inserted replaced
8293:f436f419e5ab 8294:8e00b6a9e40b
1 #ifndef DMO_FILTER_H
2 #define DMO_FILTER_H
3
4 #include "dmo_guids.h"
5 #include "dmo_interfaces.h"
6
7 #if defined(__cplusplus)
8 extern "C" {
9 #endif
10
11 typedef struct _DMO_Filter
12 {
13 int m_iHandle;
14 IDMOVideoOutputOptimizations* m_pOptim;
15 IMediaObject* m_pMedia;
16 IMediaObjectInPlace* m_pInPlace;
17 AM_MEDIA_TYPE *m_pOurType, *m_pDestType;
18 } DMO_Filter;
19
20 typedef struct _CMediaBuffer CMediaBuffer;
21
22 /**
23 * Create DMO_Filter object - similar syntax as for DS_Filter
24 */
25 DMO_Filter* DMO_FilterCreate(const char* dllname, const GUID* id,
26 AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt);
27 /**
28 * Destroy DMO_Filter object - release all allocated resources
29 */
30 void DMO_Filter_Destroy(DMO_Filter* This);
31
32
33 /**
34 * Create IMediaBuffer object - to pass/receive data from DMO_Filter
35 *
36 * maxlen - maximum size for this buffer
37 * mem - initial memory 0 - creates memory
38 * len - initial size of used portion of the buffer
39 * copy - make a local copy of data
40 */
41 CMediaBuffer* CMediaBufferCreate(unsigned long maxlen, void* mem, unsigned long len, int copy);
42
43 #if defined(__cplusplus)
44 }
45 #endif
46
47 #endif /* DS_FILTER_H */