⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dmo_interfaces.h

📁 君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图片解码,浏览,电子书,录音,想学ucos,识货的人就下吧 russblock fmradio explore set
💻 H
字号:
#ifndef DMO_INTERFACE_H#define DMO_INTERFACE_H#include "dmo.h"/* * IMediaBuffer interface */typedef struct _IMediaBuffer IMediaBuffer;typedef struct IMediaBuffer_vt{    INHERIT_IUNKNOWN();    HRESULT STDCALL ( *SetLength )(IMediaBuffer* This,				   unsigned long cbLength);    HRESULT STDCALL ( *GetMaxLength )(IMediaBuffer* This,				      /* [out] */ unsigned long *pcbMaxLength);    HRESULT STDCALL ( *GetBufferAndLength )(IMediaBuffer* This,					    /* [out] */ char** ppBuffer,					    /* [out] */ unsigned long* pcbLength);} IMediaBuffer_vt;struct _IMediaBuffer { IMediaBuffer_vt* vt; };typedef struct _DMO_OUTPUT_DATA_BUFFER{    IMediaBuffer *pBuffer;    unsigned long dwStatus;    REFERENCE_TIME rtTimestamp;    REFERENCE_TIME rtTimelength;} DMO_OUTPUT_DATA_BUFFER;/* * IMediaObject interface */typedef struct _IMediaObject IMediaObject;typedef struct IMediaObject_vt{    INHERIT_IUNKNOWN();    HRESULT STDCALL ( *GetStreamCount )(IMediaObject * This,					/* [out] */ unsigned long *pcInputStreams,					/* [out] */ unsigned long *pcOutputStreams);    HRESULT STDCALL ( *GetInputStreamInfo )(IMediaObject * This,					    unsigned long dwInputStreamIndex,					    /* [out] */ unsigned long *pdwFlags);    HRESULT STDCALL ( *GetOutputStreamInfo )(IMediaObject * This,					     unsigned long dwOutputStreamIndex,					     /* [out] */ unsigned long *pdwFlags);    HRESULT STDCALL ( *GetInputType )(IMediaObject * This,				      unsigned long dwInputStreamIndex,				      unsigned long dwTypeIndex,				      /* [out] */ DMO_MEDIA_TYPE *pmt);    HRESULT STDCALL ( *GetOutputType )(IMediaObject * This,				       unsigned long dwOutputStreamIndex,				       unsigned long dwTypeIndex,				       /* [out] */ DMO_MEDIA_TYPE *pmt);    HRESULT STDCALL ( *SetInputType )(IMediaObject * This,				      unsigned long dwInputStreamIndex,				      /* [in] */ const DMO_MEDIA_TYPE *pmt,				      unsigned long dwFlags);    HRESULT STDCALL ( *SetOutputType )(IMediaObject * This,				       unsigned long dwOutputStreamIndex,				       /* [in] */ const DMO_MEDIA_TYPE *pmt,				       unsigned long dwFlags);    HRESULT STDCALL ( *GetInputCurrentType )(IMediaObject * This,					     unsigned long dwInputStreamIndex,					     /* [out] */ DMO_MEDIA_TYPE *pmt);    HRESULT STDCALL ( *GetOutputCurrentType )(IMediaObject * This,					      unsigned long dwOutputStreamIndex,					      /* [out] */ DMO_MEDIA_TYPE *pmt);    HRESULT STDCALL ( *GetInputSizeInfo )(IMediaObject * This,					  unsigned long dwInputStreamIndex,					  /* [out] */ unsigned long *pcbSize,					  /* [out] */ unsigned long *pcbMaxLookahead,					  /* [out] */ unsigned long *pcbAlignment);    HRESULT STDCALL ( *GetOutputSizeInfo )(IMediaObject * This,					   unsigned long dwOutputStreamIndex,					   /* [out] */ unsigned long *pcbSize,					   /* [out] */ unsigned long *pcbAlignment);    HRESULT STDCALL ( *GetInputMaxLatency )(IMediaObject * This,					    unsigned long dwInputStreamIndex,					    /* [out] */ REFERENCE_TIME *prtMaxLatency);    HRESULT STDCALL ( *SetInputMaxLatency )(IMediaObject * This,					    unsigned long dwInputStreamIndex,					    REFERENCE_TIME rtMaxLatency);    HRESULT STDCALL ( *Flush )(IMediaObject * This);    HRESULT STDCALL ( *Discontinuity )(IMediaObject * This,				       unsigned long dwInputStreamIndex);    HRESULT STDCALL ( *AllocateStreamingResources )(IMediaObject * This);    HRESULT STDCALL ( *FreeStreamingResources )(IMediaObject * This);    HRESULT STDCALL ( *GetInputStatus )(IMediaObject * This,					unsigned long dwInputStreamIndex,					/* [out] */ unsigned long *dwFlags);    HRESULT STDCALL ( *ProcessInput )(IMediaObject * This,				      unsigned long dwInputStreamIndex,				      IMediaBuffer *pBuffer,				      unsigned long dwFlags,				      REFERENCE_TIME rtTimestamp,				      REFERENCE_TIME rtTimelength);    HRESULT STDCALL ( *ProcessOutput )(IMediaObject * This,				       unsigned long dwFlags,				       unsigned long cOutputBufferCount,				       /* [size_is][out][in] */ DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,				       /* [out] */ unsigned long *pdwStatus);    HRESULT STDCALL ( *Lock )(IMediaObject * This, long bLock);} IMediaObject_vt;struct _IMediaObject { IMediaObject_vt* vt; };/* * IEnumDMO interface */typedef struct _IEnumDMO IEnumDMO;typedef struct IEnumDMO_vt{    INHERIT_IUNKNOWN();    HRESULT STDCALL ( *Next )(IEnumDMO * This,			      unsigned long cItemsToFetch,			      /* [length_is][size_is][out] */ CLSID *pCLSID,			      /* [string][length_is][size_is][out] */ WCHAR **Names,			      /* [out] */ unsigned long *pcItemsFetched);    HRESULT STDCALL ( *Skip )(IEnumDMO * This,			      unsigned long cItemsToSkip);    HRESULT STDCALL ( *Reset )(IEnumDMO * This);    HRESULT STDCALL ( *Clone )(IEnumDMO * This,			       /* [out] */ IEnumDMO **ppEnum);} IEnumDMO_vt;struct _IEnumDMO { IEnumDMO_vt* vt; };/* * IMediaObjectInPlace interface */typedef struct _IMediaObjectInPlace IMediaObjectInPlace;typedef struct IMediaObjectInPlace_vt{    INHERIT_IUNKNOWN();    HRESULT STDCALL ( *Process )(IMediaObjectInPlace * This,				 /* [in] */ unsigned long ulSize,				 /* [size_is][out][in] */ BYTE *pData,				 /* [in] */ REFERENCE_TIME refTimeStart,				 /* [in] */ unsigned long dwFlags);    HRESULT STDCALL ( *Clone )(IMediaObjectInPlace * This,			       /* [out] */ IMediaObjectInPlace **ppMediaObject);    HRESULT STDCALL ( *GetLatency )(IMediaObjectInPlace * This,				    /* [out] */ REFERENCE_TIME *pLatencyTime);} IMediaObjectInPlace_vt;struct _IMediaObjectInPlace { IMediaObjectInPlace_vt* vt; };/* * IDMOQualityControl interface */typedef struct _IDMOQualityControl IDMOQualityControl;typedef struct IDMOQualityControl_vt{    INHERIT_IUNKNOWN();    HRESULT STDCALL ( *SetNow )(IDMOQualityControl * This,				/* [in] */ REFERENCE_TIME rtNow);    HRESULT STDCALL ( *SetStatus )(IDMOQualityControl * This,				   /* [in] */ unsigned long dwFlags);    HRESULT STDCALL ( *GetStatus )(IDMOQualityControl * This,				   /* [out] */ unsigned long *pdwFlags);} IDMOQualityControl_vt;struct _IDMOQualityControl { IDMOQualityControl_vt* vt; };/* * IDMOVideoOutputOptimizations  interface */typedef struct _IDMOVideoOutputOptimizations  IDMOVideoOutputOptimizations;typedef struct IDMOVideoOutputOptimizations_vt{    INHERIT_IUNKNOWN();    HRESULT STDCALL ( *QueryOperationModePreferences )(IDMOVideoOutputOptimizations * This,						       unsigned long ulOutputStreamIndex,						       unsigned long *pdwRequestedCapabilities);    HRESULT STDCALL ( *SetOperationMode )(IDMOVideoOutputOptimizations * This,					  unsigned long ulOutputStreamIndex,					  unsigned long dwEnabledFeatures);    HRESULT STDCALL ( *GetCurrentOperationMode )(IDMOVideoOutputOptimizations * This,						 unsigned long ulOutputStreamIndex,						 unsigned long *pdwEnabledFeatures);    HRESULT STDCALL ( *GetCurrentSampleRequirements )(IDMOVideoOutputOptimizations * This,						      unsigned long ulOutputStreamIndex,						      unsigned long *pdwRequestedFeatures);} IDMOVideoOutputOptimizations_vt;struct _IDMOVideoOutputOptimizations { IDMOVideoOutputOptimizations_vt* vt; };#endif /* DMO_INTERFACE_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -