xine-lib: xine-lib-1.2.13/src/libw32dll/dmo/DMO_Filter.h File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Typedefs | Functions
DMO_Filter.h File Reference
`#include "dmo_guids.h"`
`#include "dmo_interfaces.h"`

Go to the source code of this file.

## Data Structures
struct | _DMO_Filter

## Typedefs
typedef struct _DMO_Filter | DMO_Filter
typedef struct _CMediaBuffer | CMediaBuffer

## Functions
DMO_Filter * | DMO_FilterCreate (const char *dllname, const GUID *id, AM_MEDIA_TYPE *in_fmt, AM_MEDIA_TYPE *out_fmt)
void | DMO_Filter_Destroy (DMO_Filter *This)
CMediaBuffer * | CMediaBufferCreate (unsigned long maxlen, void *mem, unsigned long len, int copy)

## Typedef Documentation

## ◆ CMediaBuffer

typedef struct _CMediaBuffer CMediaBuffer

## ◆ DMO_Filter

typedef struct _DMO_Filter DMO_Filter

## Function Documentation

## ◆ CMediaBufferCreate()

CMediaBuffer * CMediaBufferCreate | ( | unsigned long | maxlen,
|  | void * | mem,
|  | unsigned long | len,
|  | int | copy )

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

References CMediaBuffer_Destroy(), CMediaBuffer_GetBufferAndLength(), CMediaBuffer_GetMaxLength(), CMediaBuffer_SetLength(), _CMediaBuffer::freemem, IMediaBuffer_vt::GetBufferAndLength, IMediaBuffer_vt::GetMaxLength, IID_IMediaBuffer, _CMediaBuffer::interfaces, _CMediaBuffer::len, _CMediaBuffer::maxlen, _CMediaBuffer::mem, NULL, IMediaBuffer_vt::SetLength, and _CMediaBuffer::vt.

Referenced by DMO_AudioDecoder_Convert(), and DMO_VideoDecoder_DecodeInternal().

## ◆ DMO_Filter_Destroy()

void DMO_Filter_Destroy | ( | DMO_Filter * | This | ) |

Destroy DMO_Filter object - release all allocated resources

References _DMO_Filter::m_pInPlace, _DMO_Filter::m_pMedia, _DMO_Filter::m_pOptim, _IDMOVideoOutputOptimizations::vt, _IMediaObject::vt, and _IMediaObjectInPlace::vt.

Referenced by DMO_AudioDecoder_Destroy(), DMO_FilterCreate(), and DMO_VideoDecoder_Destroy().

## ◆ DMO_FilterCreate()

DMO_Filter * DMO_FilterCreate | ( | const char * | dllname,
|  | const GUID * | id,
|  | AM_MEDIA_TYPE * | in_fmt,
|  | AM_MEDIA_TYPE * | out_fmt )

Create DMO_Filter object - similar syntax as for DS_Filter

References DMO_Filter_Destroy(), DMO_VOSF_NEEDS_PREVIOUS_SAMPLE, IMediaObject_vt::GetOutputSizeInfo, IMediaObject_vt::GetOutputType, GetProcAddress(), IMediaObject_vt::GetStreamCount, IID_IDMOVideoOutputOptimizations, IID_IMediaObject, IID_IMediaObjectInPlace, LoadLibraryA(), _DMO_Filter::m_iHandle, _DMO_Filter::m_pInPlace, _DMO_Filter::m_pMedia, _DMO_Filter::m_pOptim, NULL, IDMOVideoOutputOptimizations_vt::QueryOperationModePreferences, IMediaObject_vt::SetInputType, IMediaObject_vt::SetOutputType, _IDMOVideoOutputOptimizations::vt, and _IMediaObject::vt.

Referenced by DMO_AudioDecoder_Open(), and DMO_VideoDecoder_Open().