Mercurial > mplayer.hg
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/loader/dmo/DMO_Filter.h Tue Nov 26 22:54:11 2002 +0000 @@ -0,0 +1,47 @@ + #ifndef DMO_FILTER_H +#define DMO_FILTER_H + +#include "dmo_guids.h" +#include "dmo_interfaces.h" + +#if defined(__cplusplus) +extern "C" { +#endif + +typedef struct _DMO_Filter +{ + int m_iHandle; + IDMOVideoOutputOptimizations* m_pOptim; + IMediaObject* m_pMedia; + IMediaObjectInPlace* m_pInPlace; + AM_MEDIA_TYPE *m_pOurType, *m_pDestType; +} DMO_Filter; + +typedef struct _CMediaBuffer CMediaBuffer; + +/** + * Create DMO_Filter object - similar syntax as for DS_Filter + */ +DMO_Filter* DMO_FilterCreate(const char* dllname, const GUID* id, + AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt); +/** + * Destroy DMO_Filter object - release all allocated resources + */ +void DMO_Filter_Destroy(DMO_Filter* This); + + +/** + * Create IMediaBuffer object - to pass/receive data from DMO_Filter + * + * maxlen - maximum size for this buffer + * mem - initial memory 0 - creates memory + * len - initial size of used portion of the buffer + * copy - make a local copy of data + */ +CMediaBuffer* CMediaBufferCreate(unsigned long maxlen, void* mem, unsigned long len, int copy); + +#if defined(__cplusplus) +} +#endif + +#endif /* DS_FILTER_H */