📄 mediaobj.h
字号:
virtual HRESULT STDMETHODCALLTYPE FreeStreamingResources( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInputStatus(
DWORD dwInputStreamIndex,
/* [out] */ DWORD *dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE ProcessInput(
DWORD dwInputStreamIndex,
IMediaBuffer *pBuffer,
DWORD dwFlags,
REFERENCE_TIME rtTimestamp,
REFERENCE_TIME rtTimelength) = 0;
virtual HRESULT STDMETHODCALLTYPE ProcessOutput(
DWORD dwFlags,
DWORD cOutputBufferCount,
/* [size_is][out][in] */ DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,
/* [out] */ DWORD *pdwStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE Lock(
LONG bLock) = 0;
};
#else /* C style interface */
typedef struct IMediaObjectVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMediaObject * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMediaObject * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMediaObject * This);
HRESULT ( STDMETHODCALLTYPE *GetStreamCount )(
IMediaObject * This,
/* [out] */ DWORD *pcInputStreams,
/* [out] */ DWORD *pcOutputStreams);
HRESULT ( STDMETHODCALLTYPE *GetInputStreamInfo )(
IMediaObject * This,
DWORD dwInputStreamIndex,
/* [out] */ DWORD *pdwFlags);
HRESULT ( STDMETHODCALLTYPE *GetOutputStreamInfo )(
IMediaObject * This,
DWORD dwOutputStreamIndex,
/* [out] */ DWORD *pdwFlags);
HRESULT ( STDMETHODCALLTYPE *GetInputType )(
IMediaObject * This,
DWORD dwInputStreamIndex,
DWORD dwTypeIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *GetOutputType )(
IMediaObject * This,
DWORD dwOutputStreamIndex,
DWORD dwTypeIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *SetInputType )(
IMediaObject * This,
DWORD dwInputStreamIndex,
/* [in] */ const DMO_MEDIA_TYPE *pmt,
DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE *SetOutputType )(
IMediaObject * This,
DWORD dwOutputStreamIndex,
/* [in] */ const DMO_MEDIA_TYPE *pmt,
DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE *GetInputCurrentType )(
IMediaObject * This,
DWORD dwInputStreamIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *GetOutputCurrentType )(
IMediaObject * This,
DWORD dwOutputStreamIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *GetInputSizeInfo )(
IMediaObject * This,
DWORD dwInputStreamIndex,
/* [out] */ DWORD *pcbSize,
/* [out] */ DWORD *pcbMaxLookahead,
/* [out] */ DWORD *pcbAlignment);
HRESULT ( STDMETHODCALLTYPE *GetOutputSizeInfo )(
IMediaObject * This,
DWORD dwOutputStreamIndex,
/* [out] */ DWORD *pcbSize,
/* [out] */ DWORD *pcbAlignment);
HRESULT ( STDMETHODCALLTYPE *GetInputMaxLatency )(
IMediaObject * This,
DWORD dwInputStreamIndex,
/* [out] */ REFERENCE_TIME *prtMaxLatency);
HRESULT ( STDMETHODCALLTYPE *SetInputMaxLatency )(
IMediaObject * This,
DWORD dwInputStreamIndex,
REFERENCE_TIME rtMaxLatency);
HRESULT ( STDMETHODCALLTYPE *Flush )(
IMediaObject * This);
HRESULT ( STDMETHODCALLTYPE *Discontinuity )(
IMediaObject * This,
DWORD dwInputStreamIndex);
HRESULT ( STDMETHODCALLTYPE *AllocateStreamingResources )(
IMediaObject * This);
HRESULT ( STDMETHODCALLTYPE *FreeStreamingResources )(
IMediaObject * This);
HRESULT ( STDMETHODCALLTYPE *GetInputStatus )(
IMediaObject * This,
DWORD dwInputStreamIndex,
/* [out] */ DWORD *dwFlags);
HRESULT ( STDMETHODCALLTYPE *ProcessInput )(
IMediaObject * This,
DWORD dwInputStreamIndex,
IMediaBuffer *pBuffer,
DWORD dwFlags,
REFERENCE_TIME rtTimestamp,
REFERENCE_TIME rtTimelength);
HRESULT ( STDMETHODCALLTYPE *ProcessOutput )(
IMediaObject * This,
DWORD dwFlags,
DWORD cOutputBufferCount,
/* [size_is][out][in] */ DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,
/* [out] */ DWORD *pdwStatus);
HRESULT ( STDMETHODCALLTYPE *Lock )(
IMediaObject * This,
LONG bLock);
END_INTERFACE
} IMediaObjectVtbl;
interface IMediaObject
{
CONST_VTBL struct IMediaObjectVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMediaObject_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IMediaObject_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IMediaObject_Release(This) \
(This)->lpVtbl -> Release(This)
#define IMediaObject_GetStreamCount(This,pcInputStreams,pcOutputStreams) \
(This)->lpVtbl -> GetStreamCount(This,pcInputStreams,pcOutputStreams)
#define IMediaObject_GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags) \
(This)->lpVtbl -> GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags)
#define IMediaObject_GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags) \
(This)->lpVtbl -> GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags)
#define IMediaObject_GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt) \
(This)->lpVtbl -> GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt)
#define IMediaObject_GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt) \
(This)->lpVtbl -> GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt)
#define IMediaObject_SetInputType(This,dwInputStreamIndex,pmt,dwFlags) \
(This)->lpVtbl -> SetInputType(This,dwInputStreamIndex,pmt,dwFlags)
#define IMediaObject_SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags) \
(This)->lpVtbl -> SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags)
#define IMediaObject_GetInputCurrentType(This,dwInputStreamIndex,pmt) \
(This)->lpVtbl -> GetInputCurrentType(This,dwInputStreamIndex,pmt)
#define IMediaObject_GetOutputCurrentType(This,dwOutputStreamIndex,pmt) \
(This)->lpVtbl -> GetOutputCurrentType(This,dwOutputStreamIndex,pmt)
#define IMediaObject_GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment) \
(This)->lpVtbl -> GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment)
#define IMediaObject_GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment) \
(This)->lpVtbl -> GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment)
#define IMediaObject_GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency) \
(This)->lpVtbl -> GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency)
#define IMediaObject_SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency) \
(This)->lpVtbl -> SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency)
#define IMediaObject_Flush(This) \
(This)->lpVtbl -> Flush(This)
#define IMediaObject_Discontinuity(This,dwInputStreamIndex) \
(This)->lpVtbl -> Discontinuity(This,dwInputStreamIndex)
#define IMediaObject_AllocateStreamingResources(This) \
(This)->lpVtbl -> AllocateStreamingResources(This)
#define IMediaObject_FreeStreamingResources(This) \
(This)->lpVtbl -> FreeStreamingResources(This)
#define IMediaObject_GetInputStatus(This,dwInputStreamIndex,dwFlags) \
(This)->lpVtbl -> GetInputStatus(This,dwInputStreamIndex,dwFlags)
#define IMediaObject_ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength) \
(This)->lpVtbl -> ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength)
#define IMediaObject_ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus) \
(This)->lpVtbl -> ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus)
#define IMediaObject_Lock(This,bLock) \
(This)->lpVtbl -> Lock(This,bLock)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IMediaObject_GetStreamCount_Proxy(
IMediaObject * This,
/* [out] */ DWORD *pcInputStreams,
/* [out] */ DWORD *pcOutputStreams);
void __RPC_STUB IMediaObject_GetStreamCount_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaObject_GetInputStreamInfo_Proxy(
IMediaObject * This,
DWORD dwInputStreamIndex,
/* [out] */ DWORD *pdwFlags);
void __RPC_STUB IMediaObject_GetInputStreamInfo_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputStreamInfo_Proxy(
IMediaObject * This,
DWORD dwOutputStreamIndex,
/* [out] */ DWORD *pdwFlags);
void __RPC_STUB IMediaObject_GetOutputStreamInfo_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaObject_GetInputType_Proxy(
IMediaObject * This,
DWORD dwInputStreamIndex,
DWORD dwTypeIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt);
void __RPC_STUB IMediaObject_GetInputType_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputType_Proxy(
IMediaObject * This,
DWORD dwOutputStreamIndex,
DWORD dwTypeIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt);
void __RPC_STUB IMediaObject_GetOutputType_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaObject_SetInputType_Proxy(
IMediaObject * This,
DWORD dwInputStreamIndex,
/* [in] */ const DMO_MEDIA_TYPE *pmt,
DWORD dwFlags);
void __RPC_STUB IMediaObject_SetInputType_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaObject_SetOutputType_Proxy(
IMediaObject * This,
DWORD dwOutputStreamIndex,
/* [in] */ const DMO_MEDIA_TYPE *pmt,
DWORD dwFlags);
void __RPC_STUB IMediaObject_SetOutputType_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaObject_GetInputCurrentType_Proxy(
IMediaObject * This,
DWORD dwInputStreamIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt);
void __RPC_STUB IMediaObject_GetInputCurrentType_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputCurrentType_Proxy(
IMediaObject * This,
DWORD dwOutputStreamIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt);
void __RPC_STUB IMediaObject_GetOutputCurrentType_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaObject_GetInputSizeInfo_Proxy(
IMediaObject * This,
DWORD dwInputStreamIndex,
/* [out] */ DWORD *pcbSize,
/* [out] */ DWORD *pcbMaxLookahead,
/* [out] */ DWORD *pcbAlignment);
void __RPC_STUB IMediaObject_GetInputSizeInfo_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputSizeInfo_Proxy(
IMediaObject * This,
DWORD dwOutputStreamIndex,
/* [out] */ DWORD *pcbSize,
/* [out] */ DWORD *pcbAlignment);
void __RPC_STUB IMediaObject_GetOutputSizeInfo_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -