| /*** Autogenerated by WIDL 6.2 from include/mfreadwrite.idl - Do not edit ***/ |
| |
| #ifdef _WIN32 |
| #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
| #define __REQUIRED_RPCNDR_H_VERSION__ 475 |
| #endif |
| #include <rpc.h> |
| #include <rpcndr.h> |
| #endif |
| |
| #ifndef COM_NO_WINDOWS_H |
| #include <windows.h> |
| #include <ole2.h> |
| #endif |
| |
| #ifndef __mfreadwrite_h__ |
| #define __mfreadwrite_h__ |
| |
| /* Forward declarations */ |
| |
| #ifndef __IMFSourceReaderCallback_FWD_DEFINED__ |
| #define __IMFSourceReaderCallback_FWD_DEFINED__ |
| typedef interface IMFSourceReaderCallback IMFSourceReaderCallback; |
| #ifdef __cplusplus |
| interface IMFSourceReaderCallback; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFSourceReaderCallback2_FWD_DEFINED__ |
| #define __IMFSourceReaderCallback2_FWD_DEFINED__ |
| typedef interface IMFSourceReaderCallback2 IMFSourceReaderCallback2; |
| #ifdef __cplusplus |
| interface IMFSourceReaderCallback2; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFSourceReader_FWD_DEFINED__ |
| #define __IMFSourceReader_FWD_DEFINED__ |
| typedef interface IMFSourceReader IMFSourceReader; |
| #ifdef __cplusplus |
| interface IMFSourceReader; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFSourceReaderEx_FWD_DEFINED__ |
| #define __IMFSourceReaderEx_FWD_DEFINED__ |
| typedef interface IMFSourceReaderEx IMFSourceReaderEx; |
| #ifdef __cplusplus |
| interface IMFSourceReaderEx; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFSinkWriter_FWD_DEFINED__ |
| #define __IMFSinkWriter_FWD_DEFINED__ |
| typedef interface IMFSinkWriter IMFSinkWriter; |
| #ifdef __cplusplus |
| interface IMFSinkWriter; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFSinkWriterEx_FWD_DEFINED__ |
| #define __IMFSinkWriterEx_FWD_DEFINED__ |
| typedef interface IMFSinkWriterEx IMFSinkWriterEx; |
| #ifdef __cplusplus |
| interface IMFSinkWriterEx; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFSinkWriterEncoderConfig_FWD_DEFINED__ |
| #define __IMFSinkWriterEncoderConfig_FWD_DEFINED__ |
| typedef interface IMFSinkWriterEncoderConfig IMFSinkWriterEncoderConfig; |
| #ifdef __cplusplus |
| interface IMFSinkWriterEncoderConfig; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFSinkWriterCallback_FWD_DEFINED__ |
| #define __IMFSinkWriterCallback_FWD_DEFINED__ |
| typedef interface IMFSinkWriterCallback IMFSinkWriterCallback; |
| #ifdef __cplusplus |
| interface IMFSinkWriterCallback; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFSinkWriterCallback2_FWD_DEFINED__ |
| #define __IMFSinkWriterCallback2_FWD_DEFINED__ |
| typedef interface IMFSinkWriterCallback2 IMFSinkWriterCallback2; |
| #ifdef __cplusplus |
| interface IMFSinkWriterCallback2; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFReadWriteClassFactory_FWD_DEFINED__ |
| #define __IMFReadWriteClassFactory_FWD_DEFINED__ |
| typedef interface IMFReadWriteClassFactory IMFReadWriteClassFactory; |
| #ifdef __cplusplus |
| interface IMFReadWriteClassFactory; |
| #endif /* __cplusplus */ |
| #endif |
| |
| /* Headers for imported files */ |
| |
| #include <mfobjects.h> |
| #include <mftransform.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| typedef enum MF_SOURCE_READER_CONTROL_FLAG { |
| MF_SOURCE_READER_CONTROLF_DRAIN = 0x1 |
| } MF_SOURCE_READER_CONTROL_FLAG; |
| DEFINE_ENUM_FLAG_OPERATORS(MF_SOURCE_READER_CONTROL_FLAG) |
| enum { |
| MF_SOURCE_READER_INVALID_STREAM_INDEX = 0xffffffff, |
| MF_SOURCE_READER_ALL_STREAMS = 0xfffffffe, |
| MF_SOURCE_READER_ANY_STREAM = 0xfffffffe, |
| MF_SOURCE_READER_FIRST_AUDIO_STREAM = 0xfffffffd, |
| MF_SOURCE_READER_FIRST_VIDEO_STREAM = 0xfffffffc, |
| MF_SOURCE_READER_MEDIASOURCE = 0xffffffff, |
| MF_SOURCE_READER_CURRENT_TYPE_INDEX = 0xffffffff |
| }; |
| typedef enum MF_SOURCE_READER_FLAG { |
| MF_SOURCE_READERF_ERROR = 0x1, |
| MF_SOURCE_READERF_ENDOFSTREAM = 0x2, |
| MF_SOURCE_READERF_NEWSTREAM = 0x4, |
| MF_SOURCE_READERF_NATIVEMEDIATYPECHANGED = 0x10, |
| MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED = 0x20, |
| MF_SOURCE_READERF_STREAMTICK = 0x100, |
| MF_SOURCE_READERF_ALLEFFECTSREMOVED = 0x200 |
| } MF_SOURCE_READER_FLAG; |
| DEFINE_ENUM_FLAG_OPERATORS(MF_SOURCE_READER_FLAG) |
| enum { |
| MF_SINK_WRITER_INVALID_STREAM_INDEX = 0xffffffff, |
| MF_SINK_WRITER_ALL_STREAMS = 0xfffffffe, |
| MF_SINK_WRITER_MEDIASINK = 0xffffffff |
| }; |
| typedef struct _MF_SINK_WRITER_STATISTICS { |
| DWORD cb; |
| LONGLONG llLastTimestampReceived; |
| LONGLONG llLastTimestampEncoded; |
| LONGLONG llLastTimestampProcessed; |
| LONGLONG llLastStreamTickReceived; |
| LONGLONG llLastSinkSampleRequest; |
| QWORD qwNumSamplesReceived; |
| QWORD qwNumSamplesEncoded; |
| QWORD qwNumSamplesProcessed; |
| QWORD qwNumStreamTicksReceived; |
| DWORD dwByteCountQueued; |
| QWORD qwByteCountProcessed; |
| DWORD dwNumOutstandingSinkSampleRequests; |
| DWORD dwAverageSampleRateReceived; |
| DWORD dwAverageSampleRateEncoded; |
| DWORD dwAverageSampleRateProcessed; |
| } MF_SINK_WRITER_STATISTICS; |
| EXTERN_GUID(CLSID_MFReadWriteClassFactory, 0x48e2ed0f, 0x98c2, 0x4a37, 0xbe, 0xd5, 0x16, 0x63, 0x12, 0xdd, 0xd8, 0x3f); |
| EXTERN_GUID(CLSID_MFSourceReader, 0x1777133c, 0x0881, 0x411b, 0xa5, 0x77, 0xad, 0x54, 0x5f, 0x07, 0x14, 0xc4); |
| EXTERN_GUID(CLSID_MFSinkWriter, 0xa3bbfb17, 0x8273, 0x4e52, 0x9e, 0x0e, 0x97, 0x39, 0xdc, 0x88, 0x79, 0x90); |
| EXTERN_GUID(MF_MEDIASINK_AUTOFINALIZE_SUPPORTED, 0x48c131be, 0x135a, 0x41cb, 0x82, 0x90, 0x03, 0x65, 0x25, 0x09, 0xc9, 0x99); |
| EXTERN_GUID(MF_MEDIASINK_ENABLE_AUTOFINALIZE, 0x34014265, 0xcb7e, 0x4cde, 0xac, 0x7c, 0xef, 0xfd, 0x3b, 0x3c, 0x25, 0x30); |
| EXTERN_GUID(MF_SINK_WRITER_ASYNC_CALLBACK, 0x48cb183e, 0x7b0b, 0x46f4, 0x82, 0x2e, 0x5e, 0x1d, 0x2d, 0xda, 0x43, 0x54); |
| EXTERN_GUID(MF_SINK_WRITER_DISABLE_THROTTLING, 0x08b845d8, 0x2b74, 0x4afe, 0x9d, 0x53, 0xbe, 0x16, 0xd2, 0xd5, 0xae, 0x4f); |
| EXTERN_GUID(MF_SINK_WRITER_D3D_MANAGER, 0xec822da2, 0xe1e9, 0x4b29, 0xa0, 0xd8, 0x56, 0x3c, 0x71, 0x9f, 0x52, 0x69); |
| EXTERN_GUID(MF_SINK_WRITER_ENCODER_CONFIG, 0xad91cd04, 0xa7cc, 0x4ac7, 0x99, 0xb6, 0xa5, 0x7b, 0x9a, 0x4a, 0x7c, 0x70); |
| EXTERN_GUID(MF_READWRITE_DISABLE_CONVERTERS, 0x98d5b065, 0x1374, 0x4847, 0x8d, 0x5d, 0x31, 0x52, 0x0f, 0xee, 0x71, 0x56); |
| EXTERN_GUID(MF_READWRITE_ENABLE_AUTOFINALIZE, 0xdd7ca129, 0x8cd1, 0x4dc5, 0x9d, 0xde, 0xce, 0x16, 0x86, 0x75, 0xde, 0x61); |
| EXTERN_GUID(MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS, 0xa634a91c, 0x822b, 0x41b9, 0xa4, 0x94, 0x4d, 0xe4, 0x64, 0x36, 0x12, 0xb0); |
| EXTERN_GUID(MF_READWRITE_MMCSS_CLASS, 0x39384300, 0xd0eb, 0x40b1, 0x87, 0xa0, 0x33, 0x18, 0x87, 0x1b, 0x5a, 0x53); |
| EXTERN_GUID(MF_READWRITE_MMCSS_PRIORITY, 0x43ad19ce, 0xf33f, 0x4ba9, 0xa5, 0x80, 0xe4, 0xcd, 0x12, 0xf2, 0xd1, 0x44); |
| EXTERN_GUID(MF_READWRITE_MMCSS_CLASS_AUDIO, 0x430847da, 0x0890, 0x4b0e, 0x93, 0x8c, 0x05, 0x43, 0x32, 0xc5, 0x47, 0xe1); |
| EXTERN_GUID(MF_READWRITE_MMCSS_PRIORITY_AUDIO, 0x273db885, 0x2de2, 0x4db2, 0xa6, 0xa7, 0xfd, 0xb6, 0x6f, 0xb4, 0x0b, 0x61); |
| EXTERN_GUID(MF_READWRITE_D3D_OPTIONAL, 0x216479d9, 0x3071, 0x42ca, 0xbb, 0x6c, 0x4c, 0x22, 0x10, 0x2e, 0x1d, 0x18); |
| EXTERN_GUID(MF_SOURCE_READER_ASYNC_CALLBACK, 0x1e3dbeac, 0xbb43, 0x4c35, 0xb5, 0x07, 0xcd, 0x64, 0x44, 0x64, 0xc9, 0x65); |
| EXTERN_GUID(MF_SOURCE_READER_D3D_MANAGER, 0xec822da2, 0xe1e9, 0x4b29, 0xa0, 0xd8, 0x56, 0x3c, 0x71, 0x9f, 0x52, 0x69); |
| EXTERN_GUID(MF_SOURCE_READER_D3D11_BIND_FLAGS, 0x33f3197b, 0xf73a, 0x4e14, 0x8d, 0x85, 0x0e, 0x4c, 0x43, 0x68, 0x78, 0x8d); |
| EXTERN_GUID(MF_SOURCE_READER_DISABLE_CAMERA_PLUGINS, 0x9d3365dd, 0x058f, 0x4cfb, 0x9f, 0x97, 0xb3, 0x14, 0xcc, 0x99, 0xc8, 0xad); |
| EXTERN_GUID(MF_SOURCE_READER_DISABLE_DXVA, 0xaa456cfd, 0x3943, 0x4a1e, 0xa7, 0x7d, 0x18, 0x38, 0xc0, 0xea, 0x2e, 0x35); |
| EXTERN_GUID(MF_SOURCE_READER_DISCONNECT_MEDIASOURCE_ON_SHUTDOWN, 0x56b67165, 0x219e, 0x456d, 0xa2, 0x2e, 0x2d, 0x30, 0x04, 0xc7, 0xfe, 0x56); |
| EXTERN_GUID(MF_SOURCE_READER_ENABLE_ADVANCED_VIDEO_PROCESSING, 0x0f81da2c, 0xb537, 0x4672, 0xa8, 0xb2, 0xa6, 0x81, 0xb1, 0x73, 0x07, 0xa3); |
| EXTERN_GUID(MF_SOURCE_READER_ENABLE_TRANSCODE_ONLY_TRANSFORMS, 0xdfd4f008, 0xb5fd, 0x4e78, 0xae, 0x44, 0x62, 0xa1, 0xe6, 0x7b, 0xbe, 0x27); |
| EXTERN_GUID(MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING, 0xfb394f3d, 0xccf1, 0x42ee, 0xbb, 0xb3, 0xf9, 0xb8, 0x45, 0xd5, 0x68, 0x1d); |
| EXTERN_GUID(MF_SOURCE_READER_MEDIASOURCE_CHARACTERISTICS, 0x6d23f5c8, 0xc5d7, 0x4a9b, 0x99, 0x71, 0x5d, 0x11, 0xf8, 0xbc, 0xa8, 0x80); |
| EXTERN_GUID(MF_SOURCE_READER_MEDIASOURCE_CONFIG, 0x9085abeb, 0x0354, 0x48f9, 0xab, 0xb5, 0x20, 0x0d, 0xf8, 0x38, 0xc6, 0x8e); |
| /***************************************************************************** |
| * IMFSourceReaderCallback interface |
| */ |
| #ifndef __IMFSourceReaderCallback_INTERFACE_DEFINED__ |
| #define __IMFSourceReaderCallback_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFSourceReaderCallback, 0xdeec8d99, 0xfa1d, 0x4d82, 0x84,0xc2, 0x2c,0x89,0x69,0x94,0x48,0x67); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("deec8d99-fa1d-4d82-84c2-2c8969944867") |
| IMFSourceReaderCallback : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE OnReadSample( |
| HRESULT hr, |
| DWORD stream_index, |
| DWORD stream_flags, |
| LONGLONG timestamp, |
| IMFSample *sample) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnFlush( |
| DWORD stream_index) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnEvent( |
| DWORD stream_index, |
| IMFMediaEvent *event) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFSourceReaderCallback, 0xdeec8d99, 0xfa1d, 0x4d82, 0x84,0xc2, 0x2c,0x89,0x69,0x94,0x48,0x67) |
| #endif |
| #else |
| typedef struct IMFSourceReaderCallbackVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFSourceReaderCallback *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFSourceReaderCallback *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFSourceReaderCallback *This); |
| |
| /*** IMFSourceReaderCallback methods ***/ |
| HRESULT (STDMETHODCALLTYPE *OnReadSample)( |
| IMFSourceReaderCallback *This, |
| HRESULT hr, |
| DWORD stream_index, |
| DWORD stream_flags, |
| LONGLONG timestamp, |
| IMFSample *sample); |
| |
| HRESULT (STDMETHODCALLTYPE *OnFlush)( |
| IMFSourceReaderCallback *This, |
| DWORD stream_index); |
| |
| HRESULT (STDMETHODCALLTYPE *OnEvent)( |
| IMFSourceReaderCallback *This, |
| DWORD stream_index, |
| IMFMediaEvent *event); |
| |
| END_INTERFACE |
| } IMFSourceReaderCallbackVtbl; |
| |
| interface IMFSourceReaderCallback { |
| CONST_VTBL IMFSourceReaderCallbackVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFSourceReaderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFSourceReaderCallback_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFSourceReaderCallback_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFSourceReaderCallback methods ***/ |
| #define IMFSourceReaderCallback_OnReadSample(This,hr,stream_index,stream_flags,timestamp,sample) (This)->lpVtbl->OnReadSample(This,hr,stream_index,stream_flags,timestamp,sample) |
| #define IMFSourceReaderCallback_OnFlush(This,stream_index) (This)->lpVtbl->OnFlush(This,stream_index) |
| #define IMFSourceReaderCallback_OnEvent(This,stream_index,event) (This)->lpVtbl->OnEvent(This,stream_index,event) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFSourceReaderCallback_QueryInterface(IMFSourceReaderCallback* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFSourceReaderCallback_AddRef(IMFSourceReaderCallback* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFSourceReaderCallback_Release(IMFSourceReaderCallback* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFSourceReaderCallback methods ***/ |
| static FORCEINLINE HRESULT IMFSourceReaderCallback_OnReadSample(IMFSourceReaderCallback* This,HRESULT hr,DWORD stream_index,DWORD stream_flags,LONGLONG timestamp,IMFSample *sample) { |
| return This->lpVtbl->OnReadSample(This,hr,stream_index,stream_flags,timestamp,sample); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderCallback_OnFlush(IMFSourceReaderCallback* This,DWORD stream_index) { |
| return This->lpVtbl->OnFlush(This,stream_index); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderCallback_OnEvent(IMFSourceReaderCallback* This,DWORD stream_index,IMFMediaEvent *event) { |
| return This->lpVtbl->OnEvent(This,stream_index,event); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFSourceReaderCallback_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFSourceReaderCallback2 interface |
| */ |
| #ifndef __IMFSourceReaderCallback2_INTERFACE_DEFINED__ |
| #define __IMFSourceReaderCallback2_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFSourceReaderCallback2, 0xcf839fe6, 0x8c2a, 0x4dd2, 0xb6,0xea, 0xc2,0x2d,0x69,0x61,0xaf,0x05); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("cf839fe6-8c2a-4dd2-b6ea-c22d6961af05") |
| IMFSourceReaderCallback2 : public IMFSourceReaderCallback |
| { |
| virtual HRESULT STDMETHODCALLTYPE OnTransformChange( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnStreamError( |
| DWORD stream_index, |
| HRESULT status) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFSourceReaderCallback2, 0xcf839fe6, 0x8c2a, 0x4dd2, 0xb6,0xea, 0xc2,0x2d,0x69,0x61,0xaf,0x05) |
| #endif |
| #else |
| typedef struct IMFSourceReaderCallback2Vtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFSourceReaderCallback2 *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFSourceReaderCallback2 *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFSourceReaderCallback2 *This); |
| |
| /*** IMFSourceReaderCallback methods ***/ |
| HRESULT (STDMETHODCALLTYPE *OnReadSample)( |
| IMFSourceReaderCallback2 *This, |
| HRESULT hr, |
| DWORD stream_index, |
| DWORD stream_flags, |
| LONGLONG timestamp, |
| IMFSample *sample); |
| |
| HRESULT (STDMETHODCALLTYPE *OnFlush)( |
| IMFSourceReaderCallback2 *This, |
| DWORD stream_index); |
| |
| HRESULT (STDMETHODCALLTYPE *OnEvent)( |
| IMFSourceReaderCallback2 *This, |
| DWORD stream_index, |
| IMFMediaEvent *event); |
| |
| /*** IMFSourceReaderCallback2 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *OnTransformChange)( |
| IMFSourceReaderCallback2 *This); |
| |
| HRESULT (STDMETHODCALLTYPE *OnStreamError)( |
| IMFSourceReaderCallback2 *This, |
| DWORD stream_index, |
| HRESULT status); |
| |
| END_INTERFACE |
| } IMFSourceReaderCallback2Vtbl; |
| |
| interface IMFSourceReaderCallback2 { |
| CONST_VTBL IMFSourceReaderCallback2Vtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFSourceReaderCallback2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFSourceReaderCallback2_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFSourceReaderCallback2_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFSourceReaderCallback methods ***/ |
| #define IMFSourceReaderCallback2_OnReadSample(This,hr,stream_index,stream_flags,timestamp,sample) (This)->lpVtbl->OnReadSample(This,hr,stream_index,stream_flags,timestamp,sample) |
| #define IMFSourceReaderCallback2_OnFlush(This,stream_index) (This)->lpVtbl->OnFlush(This,stream_index) |
| #define IMFSourceReaderCallback2_OnEvent(This,stream_index,event) (This)->lpVtbl->OnEvent(This,stream_index,event) |
| /*** IMFSourceReaderCallback2 methods ***/ |
| #define IMFSourceReaderCallback2_OnTransformChange(This) (This)->lpVtbl->OnTransformChange(This) |
| #define IMFSourceReaderCallback2_OnStreamError(This,stream_index,status) (This)->lpVtbl->OnStreamError(This,stream_index,status) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFSourceReaderCallback2_QueryInterface(IMFSourceReaderCallback2* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFSourceReaderCallback2_AddRef(IMFSourceReaderCallback2* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFSourceReaderCallback2_Release(IMFSourceReaderCallback2* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFSourceReaderCallback methods ***/ |
| static FORCEINLINE HRESULT IMFSourceReaderCallback2_OnReadSample(IMFSourceReaderCallback2* This,HRESULT hr,DWORD stream_index,DWORD stream_flags,LONGLONG timestamp,IMFSample *sample) { |
| return This->lpVtbl->OnReadSample(This,hr,stream_index,stream_flags,timestamp,sample); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderCallback2_OnFlush(IMFSourceReaderCallback2* This,DWORD stream_index) { |
| return This->lpVtbl->OnFlush(This,stream_index); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderCallback2_OnEvent(IMFSourceReaderCallback2* This,DWORD stream_index,IMFMediaEvent *event) { |
| return This->lpVtbl->OnEvent(This,stream_index,event); |
| } |
| /*** IMFSourceReaderCallback2 methods ***/ |
| static FORCEINLINE HRESULT IMFSourceReaderCallback2_OnTransformChange(IMFSourceReaderCallback2* This) { |
| return This->lpVtbl->OnTransformChange(This); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderCallback2_OnStreamError(IMFSourceReaderCallback2* This,DWORD stream_index,HRESULT status) { |
| return This->lpVtbl->OnStreamError(This,stream_index,status); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFSourceReaderCallback2_INTERFACE_DEFINED__ */ |
| |
| #ifndef __IMFMediaSource_FWD_DEFINED__ |
| #define __IMFMediaSource_FWD_DEFINED__ |
| typedef interface IMFMediaSource IMFMediaSource; |
| #ifdef __cplusplus |
| interface IMFMediaSource; |
| #endif /* __cplusplus */ |
| #endif |
| |
| /***************************************************************************** |
| * IMFSourceReader interface |
| */ |
| #ifndef __IMFSourceReader_INTERFACE_DEFINED__ |
| #define __IMFSourceReader_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFSourceReader, 0x70ae66f2, 0xc809, 0x4e4f, 0x89,0x15, 0xbd,0xcb,0x40,0x6b,0x79,0x93); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("70ae66f2-c809-4e4f-8915-bdcb406b7993") |
| IMFSourceReader : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetStreamSelection( |
| DWORD index, |
| WINBOOL *selected) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetStreamSelection( |
| DWORD index, |
| WINBOOL selected) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetNativeMediaType( |
| DWORD index, |
| DWORD typeindex, |
| IMFMediaType **type) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetCurrentMediaType( |
| DWORD index, |
| IMFMediaType **type) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetCurrentMediaType( |
| DWORD index, |
| DWORD *reserved, |
| IMFMediaType *type) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetCurrentPosition( |
| REFGUID format, |
| REFPROPVARIANT position) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReadSample( |
| DWORD index, |
| DWORD flags, |
| DWORD *actualindex, |
| DWORD *sampleflags, |
| LONGLONG *timestamp, |
| IMFSample **sample) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Flush( |
| DWORD index) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetServiceForStream( |
| DWORD index, |
| REFGUID service, |
| REFIID riid, |
| void **object) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetPresentationAttribute( |
| DWORD index, |
| REFGUID guid, |
| PROPVARIANT *attr) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFSourceReader, 0x70ae66f2, 0xc809, 0x4e4f, 0x89,0x15, 0xbd,0xcb,0x40,0x6b,0x79,0x93) |
| #endif |
| #else |
| typedef struct IMFSourceReaderVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFSourceReader *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFSourceReader *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFSourceReader *This); |
| |
| /*** IMFSourceReader methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetStreamSelection)( |
| IMFSourceReader *This, |
| DWORD index, |
| WINBOOL *selected); |
| |
| HRESULT (STDMETHODCALLTYPE *SetStreamSelection)( |
| IMFSourceReader *This, |
| DWORD index, |
| WINBOOL selected); |
| |
| HRESULT (STDMETHODCALLTYPE *GetNativeMediaType)( |
| IMFSourceReader *This, |
| DWORD index, |
| DWORD typeindex, |
| IMFMediaType **type); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCurrentMediaType)( |
| IMFSourceReader *This, |
| DWORD index, |
| IMFMediaType **type); |
| |
| HRESULT (STDMETHODCALLTYPE *SetCurrentMediaType)( |
| IMFSourceReader *This, |
| DWORD index, |
| DWORD *reserved, |
| IMFMediaType *type); |
| |
| HRESULT (STDMETHODCALLTYPE *SetCurrentPosition)( |
| IMFSourceReader *This, |
| REFGUID format, |
| REFPROPVARIANT position); |
| |
| HRESULT (STDMETHODCALLTYPE *ReadSample)( |
| IMFSourceReader *This, |
| DWORD index, |
| DWORD flags, |
| DWORD *actualindex, |
| DWORD *sampleflags, |
| LONGLONG *timestamp, |
| IMFSample **sample); |
| |
| HRESULT (STDMETHODCALLTYPE *Flush)( |
| IMFSourceReader *This, |
| DWORD index); |
| |
| HRESULT (STDMETHODCALLTYPE *GetServiceForStream)( |
| IMFSourceReader *This, |
| DWORD index, |
| REFGUID service, |
| REFIID riid, |
| void **object); |
| |
| HRESULT (STDMETHODCALLTYPE *GetPresentationAttribute)( |
| IMFSourceReader *This, |
| DWORD index, |
| REFGUID guid, |
| PROPVARIANT *attr); |
| |
| END_INTERFACE |
| } IMFSourceReaderVtbl; |
| |
| interface IMFSourceReader { |
| CONST_VTBL IMFSourceReaderVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFSourceReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFSourceReader_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFSourceReader_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFSourceReader methods ***/ |
| #define IMFSourceReader_GetStreamSelection(This,index,selected) (This)->lpVtbl->GetStreamSelection(This,index,selected) |
| #define IMFSourceReader_SetStreamSelection(This,index,selected) (This)->lpVtbl->SetStreamSelection(This,index,selected) |
| #define IMFSourceReader_GetNativeMediaType(This,index,typeindex,type) (This)->lpVtbl->GetNativeMediaType(This,index,typeindex,type) |
| #define IMFSourceReader_GetCurrentMediaType(This,index,type) (This)->lpVtbl->GetCurrentMediaType(This,index,type) |
| #define IMFSourceReader_SetCurrentMediaType(This,index,reserved,type) (This)->lpVtbl->SetCurrentMediaType(This,index,reserved,type) |
| #define IMFSourceReader_SetCurrentPosition(This,format,position) (This)->lpVtbl->SetCurrentPosition(This,format,position) |
| #define IMFSourceReader_ReadSample(This,index,flags,actualindex,sampleflags,timestamp,sample) (This)->lpVtbl->ReadSample(This,index,flags,actualindex,sampleflags,timestamp,sample) |
| #define IMFSourceReader_Flush(This,index) (This)->lpVtbl->Flush(This,index) |
| #define IMFSourceReader_GetServiceForStream(This,index,service,riid,object) (This)->lpVtbl->GetServiceForStream(This,index,service,riid,object) |
| #define IMFSourceReader_GetPresentationAttribute(This,index,guid,attr) (This)->lpVtbl->GetPresentationAttribute(This,index,guid,attr) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFSourceReader_QueryInterface(IMFSourceReader* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFSourceReader_AddRef(IMFSourceReader* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFSourceReader_Release(IMFSourceReader* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFSourceReader methods ***/ |
| static FORCEINLINE HRESULT IMFSourceReader_GetStreamSelection(IMFSourceReader* This,DWORD index,WINBOOL *selected) { |
| return This->lpVtbl->GetStreamSelection(This,index,selected); |
| } |
| static FORCEINLINE HRESULT IMFSourceReader_SetStreamSelection(IMFSourceReader* This,DWORD index,WINBOOL selected) { |
| return This->lpVtbl->SetStreamSelection(This,index,selected); |
| } |
| static FORCEINLINE HRESULT IMFSourceReader_GetNativeMediaType(IMFSourceReader* This,DWORD index,DWORD typeindex,IMFMediaType **type) { |
| return This->lpVtbl->GetNativeMediaType(This,index,typeindex,type); |
| } |
| static FORCEINLINE HRESULT IMFSourceReader_GetCurrentMediaType(IMFSourceReader* This,DWORD index,IMFMediaType **type) { |
| return This->lpVtbl->GetCurrentMediaType(This,index,type); |
| } |
| static FORCEINLINE HRESULT IMFSourceReader_SetCurrentMediaType(IMFSourceReader* This,DWORD index,DWORD *reserved,IMFMediaType *type) { |
| return This->lpVtbl->SetCurrentMediaType(This,index,reserved,type); |
| } |
| static FORCEINLINE HRESULT IMFSourceReader_SetCurrentPosition(IMFSourceReader* This,REFGUID format,REFPROPVARIANT position) { |
| return This->lpVtbl->SetCurrentPosition(This,format,position); |
| } |
| static FORCEINLINE HRESULT IMFSourceReader_ReadSample(IMFSourceReader* This,DWORD index,DWORD flags,DWORD *actualindex,DWORD *sampleflags,LONGLONG *timestamp,IMFSample **sample) { |
| return This->lpVtbl->ReadSample(This,index,flags,actualindex,sampleflags,timestamp,sample); |
| } |
| static FORCEINLINE HRESULT IMFSourceReader_Flush(IMFSourceReader* This,DWORD index) { |
| return This->lpVtbl->Flush(This,index); |
| } |
| static FORCEINLINE HRESULT IMFSourceReader_GetServiceForStream(IMFSourceReader* This,DWORD index,REFGUID service,REFIID riid,void **object) { |
| return This->lpVtbl->GetServiceForStream(This,index,service,riid,object); |
| } |
| static FORCEINLINE HRESULT IMFSourceReader_GetPresentationAttribute(IMFSourceReader* This,DWORD index,REFGUID guid,PROPVARIANT *attr) { |
| return This->lpVtbl->GetPresentationAttribute(This,index,guid,attr); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFSourceReader_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFSourceReaderEx interface |
| */ |
| #ifndef __IMFSourceReaderEx_INTERFACE_DEFINED__ |
| #define __IMFSourceReaderEx_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFSourceReaderEx, 0x7b981cf0, 0x560e, 0x4116, 0x98,0x75, 0xb0,0x99,0x89,0x5f,0x23,0xd7); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("7b981cf0-560e-4116-9875-b099895f23d7") |
| IMFSourceReaderEx : public IMFSourceReader |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetNativeMediaType( |
| DWORD stream_index, |
| IMFMediaType *media_type, |
| DWORD *stream_flags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE AddTransformForStream( |
| DWORD stream_index, |
| IUnknown *transform) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RemoveAllTransformsForStream( |
| DWORD stream_index) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetTransformForStream( |
| DWORD stream_index, |
| DWORD transform_index, |
| GUID *category, |
| IMFTransform **transform) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFSourceReaderEx, 0x7b981cf0, 0x560e, 0x4116, 0x98,0x75, 0xb0,0x99,0x89,0x5f,0x23,0xd7) |
| #endif |
| #else |
| typedef struct IMFSourceReaderExVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFSourceReaderEx *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFSourceReaderEx *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFSourceReaderEx *This); |
| |
| /*** IMFSourceReader methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetStreamSelection)( |
| IMFSourceReaderEx *This, |
| DWORD index, |
| WINBOOL *selected); |
| |
| HRESULT (STDMETHODCALLTYPE *SetStreamSelection)( |
| IMFSourceReaderEx *This, |
| DWORD index, |
| WINBOOL selected); |
| |
| HRESULT (STDMETHODCALLTYPE *GetNativeMediaType)( |
| IMFSourceReaderEx *This, |
| DWORD index, |
| DWORD typeindex, |
| IMFMediaType **type); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCurrentMediaType)( |
| IMFSourceReaderEx *This, |
| DWORD index, |
| IMFMediaType **type); |
| |
| HRESULT (STDMETHODCALLTYPE *SetCurrentMediaType)( |
| IMFSourceReaderEx *This, |
| DWORD index, |
| DWORD *reserved, |
| IMFMediaType *type); |
| |
| HRESULT (STDMETHODCALLTYPE *SetCurrentPosition)( |
| IMFSourceReaderEx *This, |
| REFGUID format, |
| REFPROPVARIANT position); |
| |
| HRESULT (STDMETHODCALLTYPE *ReadSample)( |
| IMFSourceReaderEx *This, |
| DWORD index, |
| DWORD flags, |
| DWORD *actualindex, |
| DWORD *sampleflags, |
| LONGLONG *timestamp, |
| IMFSample **sample); |
| |
| HRESULT (STDMETHODCALLTYPE *Flush)( |
| IMFSourceReaderEx *This, |
| DWORD index); |
| |
| HRESULT (STDMETHODCALLTYPE *GetServiceForStream)( |
| IMFSourceReaderEx *This, |
| DWORD index, |
| REFGUID service, |
| REFIID riid, |
| void **object); |
| |
| HRESULT (STDMETHODCALLTYPE *GetPresentationAttribute)( |
| IMFSourceReaderEx *This, |
| DWORD index, |
| REFGUID guid, |
| PROPVARIANT *attr); |
| |
| /*** IMFSourceReaderEx methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetNativeMediaType)( |
| IMFSourceReaderEx *This, |
| DWORD stream_index, |
| IMFMediaType *media_type, |
| DWORD *stream_flags); |
| |
| HRESULT (STDMETHODCALLTYPE *AddTransformForStream)( |
| IMFSourceReaderEx *This, |
| DWORD stream_index, |
| IUnknown *transform); |
| |
| HRESULT (STDMETHODCALLTYPE *RemoveAllTransformsForStream)( |
| IMFSourceReaderEx *This, |
| DWORD stream_index); |
| |
| HRESULT (STDMETHODCALLTYPE *GetTransformForStream)( |
| IMFSourceReaderEx *This, |
| DWORD stream_index, |
| DWORD transform_index, |
| GUID *category, |
| IMFTransform **transform); |
| |
| END_INTERFACE |
| } IMFSourceReaderExVtbl; |
| |
| interface IMFSourceReaderEx { |
| CONST_VTBL IMFSourceReaderExVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFSourceReaderEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFSourceReaderEx_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFSourceReaderEx_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFSourceReader methods ***/ |
| #define IMFSourceReaderEx_GetStreamSelection(This,index,selected) (This)->lpVtbl->GetStreamSelection(This,index,selected) |
| #define IMFSourceReaderEx_SetStreamSelection(This,index,selected) (This)->lpVtbl->SetStreamSelection(This,index,selected) |
| #define IMFSourceReaderEx_GetNativeMediaType(This,index,typeindex,type) (This)->lpVtbl->GetNativeMediaType(This,index,typeindex,type) |
| #define IMFSourceReaderEx_GetCurrentMediaType(This,index,type) (This)->lpVtbl->GetCurrentMediaType(This,index,type) |
| #define IMFSourceReaderEx_SetCurrentMediaType(This,index,reserved,type) (This)->lpVtbl->SetCurrentMediaType(This,index,reserved,type) |
| #define IMFSourceReaderEx_SetCurrentPosition(This,format,position) (This)->lpVtbl->SetCurrentPosition(This,format,position) |
| #define IMFSourceReaderEx_ReadSample(This,index,flags,actualindex,sampleflags,timestamp,sample) (This)->lpVtbl->ReadSample(This,index,flags,actualindex,sampleflags,timestamp,sample) |
| #define IMFSourceReaderEx_Flush(This,index) (This)->lpVtbl->Flush(This,index) |
| #define IMFSourceReaderEx_GetServiceForStream(This,index,service,riid,object) (This)->lpVtbl->GetServiceForStream(This,index,service,riid,object) |
| #define IMFSourceReaderEx_GetPresentationAttribute(This,index,guid,attr) (This)->lpVtbl->GetPresentationAttribute(This,index,guid,attr) |
| /*** IMFSourceReaderEx methods ***/ |
| #define IMFSourceReaderEx_SetNativeMediaType(This,stream_index,media_type,stream_flags) (This)->lpVtbl->SetNativeMediaType(This,stream_index,media_type,stream_flags) |
| #define IMFSourceReaderEx_AddTransformForStream(This,stream_index,transform) (This)->lpVtbl->AddTransformForStream(This,stream_index,transform) |
| #define IMFSourceReaderEx_RemoveAllTransformsForStream(This,stream_index) (This)->lpVtbl->RemoveAllTransformsForStream(This,stream_index) |
| #define IMFSourceReaderEx_GetTransformForStream(This,stream_index,transform_index,category,transform) (This)->lpVtbl->GetTransformForStream(This,stream_index,transform_index,category,transform) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFSourceReaderEx_QueryInterface(IMFSourceReaderEx* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFSourceReaderEx_AddRef(IMFSourceReaderEx* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFSourceReaderEx_Release(IMFSourceReaderEx* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFSourceReader methods ***/ |
| static FORCEINLINE HRESULT IMFSourceReaderEx_GetStreamSelection(IMFSourceReaderEx* This,DWORD index,WINBOOL *selected) { |
| return This->lpVtbl->GetStreamSelection(This,index,selected); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_SetStreamSelection(IMFSourceReaderEx* This,DWORD index,WINBOOL selected) { |
| return This->lpVtbl->SetStreamSelection(This,index,selected); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_GetNativeMediaType(IMFSourceReaderEx* This,DWORD index,DWORD typeindex,IMFMediaType **type) { |
| return This->lpVtbl->GetNativeMediaType(This,index,typeindex,type); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_GetCurrentMediaType(IMFSourceReaderEx* This,DWORD index,IMFMediaType **type) { |
| return This->lpVtbl->GetCurrentMediaType(This,index,type); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_SetCurrentMediaType(IMFSourceReaderEx* This,DWORD index,DWORD *reserved,IMFMediaType *type) { |
| return This->lpVtbl->SetCurrentMediaType(This,index,reserved,type); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_SetCurrentPosition(IMFSourceReaderEx* This,REFGUID format,REFPROPVARIANT position) { |
| return This->lpVtbl->SetCurrentPosition(This,format,position); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_ReadSample(IMFSourceReaderEx* This,DWORD index,DWORD flags,DWORD *actualindex,DWORD *sampleflags,LONGLONG *timestamp,IMFSample **sample) { |
| return This->lpVtbl->ReadSample(This,index,flags,actualindex,sampleflags,timestamp,sample); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_Flush(IMFSourceReaderEx* This,DWORD index) { |
| return This->lpVtbl->Flush(This,index); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_GetServiceForStream(IMFSourceReaderEx* This,DWORD index,REFGUID service,REFIID riid,void **object) { |
| return This->lpVtbl->GetServiceForStream(This,index,service,riid,object); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_GetPresentationAttribute(IMFSourceReaderEx* This,DWORD index,REFGUID guid,PROPVARIANT *attr) { |
| return This->lpVtbl->GetPresentationAttribute(This,index,guid,attr); |
| } |
| /*** IMFSourceReaderEx methods ***/ |
| static FORCEINLINE HRESULT IMFSourceReaderEx_SetNativeMediaType(IMFSourceReaderEx* This,DWORD stream_index,IMFMediaType *media_type,DWORD *stream_flags) { |
| return This->lpVtbl->SetNativeMediaType(This,stream_index,media_type,stream_flags); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_AddTransformForStream(IMFSourceReaderEx* This,DWORD stream_index,IUnknown *transform) { |
| return This->lpVtbl->AddTransformForStream(This,stream_index,transform); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_RemoveAllTransformsForStream(IMFSourceReaderEx* This,DWORD stream_index) { |
| return This->lpVtbl->RemoveAllTransformsForStream(This,stream_index); |
| } |
| static FORCEINLINE HRESULT IMFSourceReaderEx_GetTransformForStream(IMFSourceReaderEx* This,DWORD stream_index,DWORD transform_index,GUID *category,IMFTransform **transform) { |
| return This->lpVtbl->GetTransformForStream(This,stream_index,transform_index,category,transform); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFSourceReaderEx_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFSinkWriter interface |
| */ |
| #ifndef __IMFSinkWriter_INTERFACE_DEFINED__ |
| #define __IMFSinkWriter_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFSinkWriter, 0x3137f1cd, 0xfe5e, 0x4805, 0xa5,0xd8, 0xfb,0x47,0x74,0x48,0xcb,0x3d); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("3137f1cd-fe5e-4805-a5d8-fb477448cb3d") |
| IMFSinkWriter : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE AddStream( |
| IMFMediaType *type, |
| DWORD *index) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetInputMediaType( |
| DWORD index, |
| IMFMediaType *type, |
| IMFAttributes *parameters) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE BeginWriting( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE WriteSample( |
| DWORD index, |
| IMFSample *sample) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SendStreamTick( |
| DWORD index, |
| LONGLONG timestamp) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE PlaceMarker( |
| DWORD index, |
| void *context) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE NotifyEndOfSegment( |
| DWORD index) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Flush( |
| DWORD index) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Finalize( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetServiceForStream( |
| DWORD index, |
| REFGUID service, |
| REFIID riid, |
| void **object) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetStatistics( |
| DWORD index, |
| MF_SINK_WRITER_STATISTICS *stats) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFSinkWriter, 0x3137f1cd, 0xfe5e, 0x4805, 0xa5,0xd8, 0xfb,0x47,0x74,0x48,0xcb,0x3d) |
| #endif |
| #else |
| typedef struct IMFSinkWriterVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFSinkWriter *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFSinkWriter *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFSinkWriter *This); |
| |
| /*** IMFSinkWriter methods ***/ |
| HRESULT (STDMETHODCALLTYPE *AddStream)( |
| IMFSinkWriter *This, |
| IMFMediaType *type, |
| DWORD *index); |
| |
| HRESULT (STDMETHODCALLTYPE *SetInputMediaType)( |
| IMFSinkWriter *This, |
| DWORD index, |
| IMFMediaType *type, |
| IMFAttributes *parameters); |
| |
| HRESULT (STDMETHODCALLTYPE *BeginWriting)( |
| IMFSinkWriter *This); |
| |
| HRESULT (STDMETHODCALLTYPE *WriteSample)( |
| IMFSinkWriter *This, |
| DWORD index, |
| IMFSample *sample); |
| |
| HRESULT (STDMETHODCALLTYPE *SendStreamTick)( |
| IMFSinkWriter *This, |
| DWORD index, |
| LONGLONG timestamp); |
| |
| HRESULT (STDMETHODCALLTYPE *PlaceMarker)( |
| IMFSinkWriter *This, |
| DWORD index, |
| void *context); |
| |
| HRESULT (STDMETHODCALLTYPE *NotifyEndOfSegment)( |
| IMFSinkWriter *This, |
| DWORD index); |
| |
| HRESULT (STDMETHODCALLTYPE *Flush)( |
| IMFSinkWriter *This, |
| DWORD index); |
| |
| HRESULT (STDMETHODCALLTYPE *Finalize)( |
| IMFSinkWriter *This); |
| |
| HRESULT (STDMETHODCALLTYPE *GetServiceForStream)( |
| IMFSinkWriter *This, |
| DWORD index, |
| REFGUID service, |
| REFIID riid, |
| void **object); |
| |
| HRESULT (STDMETHODCALLTYPE *GetStatistics)( |
| IMFSinkWriter *This, |
| DWORD index, |
| MF_SINK_WRITER_STATISTICS *stats); |
| |
| END_INTERFACE |
| } IMFSinkWriterVtbl; |
| |
| interface IMFSinkWriter { |
| CONST_VTBL IMFSinkWriterVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFSinkWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFSinkWriter_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFSinkWriter_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFSinkWriter methods ***/ |
| #define IMFSinkWriter_AddStream(This,type,index) (This)->lpVtbl->AddStream(This,type,index) |
| #define IMFSinkWriter_SetInputMediaType(This,index,type,parameters) (This)->lpVtbl->SetInputMediaType(This,index,type,parameters) |
| #define IMFSinkWriter_BeginWriting(This) (This)->lpVtbl->BeginWriting(This) |
| #define IMFSinkWriter_WriteSample(This,index,sample) (This)->lpVtbl->WriteSample(This,index,sample) |
| #define IMFSinkWriter_SendStreamTick(This,index,timestamp) (This)->lpVtbl->SendStreamTick(This,index,timestamp) |
| #define IMFSinkWriter_PlaceMarker(This,index,context) (This)->lpVtbl->PlaceMarker(This,index,context) |
| #define IMFSinkWriter_NotifyEndOfSegment(This,index) (This)->lpVtbl->NotifyEndOfSegment(This,index) |
| #define IMFSinkWriter_Flush(This,index) (This)->lpVtbl->Flush(This,index) |
| #define IMFSinkWriter_Finalize(This) (This)->lpVtbl->Finalize(This) |
| #define IMFSinkWriter_GetServiceForStream(This,index,service,riid,object) (This)->lpVtbl->GetServiceForStream(This,index,service,riid,object) |
| #define IMFSinkWriter_GetStatistics(This,index,stats) (This)->lpVtbl->GetStatistics(This,index,stats) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriter_QueryInterface(IMFSinkWriter* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFSinkWriter_AddRef(IMFSinkWriter* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFSinkWriter_Release(IMFSinkWriter* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFSinkWriter methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriter_AddStream(IMFSinkWriter* This,IMFMediaType *type,DWORD *index) { |
| return This->lpVtbl->AddStream(This,type,index); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriter_SetInputMediaType(IMFSinkWriter* This,DWORD index,IMFMediaType *type,IMFAttributes *parameters) { |
| return This->lpVtbl->SetInputMediaType(This,index,type,parameters); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriter_BeginWriting(IMFSinkWriter* This) { |
| return This->lpVtbl->BeginWriting(This); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriter_WriteSample(IMFSinkWriter* This,DWORD index,IMFSample *sample) { |
| return This->lpVtbl->WriteSample(This,index,sample); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriter_SendStreamTick(IMFSinkWriter* This,DWORD index,LONGLONG timestamp) { |
| return This->lpVtbl->SendStreamTick(This,index,timestamp); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriter_PlaceMarker(IMFSinkWriter* This,DWORD index,void *context) { |
| return This->lpVtbl->PlaceMarker(This,index,context); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriter_NotifyEndOfSegment(IMFSinkWriter* This,DWORD index) { |
| return This->lpVtbl->NotifyEndOfSegment(This,index); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriter_Flush(IMFSinkWriter* This,DWORD index) { |
| return This->lpVtbl->Flush(This,index); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriter_Finalize(IMFSinkWriter* This) { |
| return This->lpVtbl->Finalize(This); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriter_GetServiceForStream(IMFSinkWriter* This,DWORD index,REFGUID service,REFIID riid,void **object) { |
| return This->lpVtbl->GetServiceForStream(This,index,service,riid,object); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriter_GetStatistics(IMFSinkWriter* This,DWORD index,MF_SINK_WRITER_STATISTICS *stats) { |
| return This->lpVtbl->GetStatistics(This,index,stats); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFSinkWriter_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFSinkWriterEx interface |
| */ |
| #ifndef __IMFSinkWriterEx_INTERFACE_DEFINED__ |
| #define __IMFSinkWriterEx_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFSinkWriterEx, 0x588d72ab, 0x5bc1, 0x496a, 0x87,0x14, 0xb7,0x06,0x17,0x14,0x1b,0x25); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("588d72ab-5bc1-496a-8714-b70617141b25") |
| IMFSinkWriterEx : public IMFSinkWriter |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetTransformForStream( |
| DWORD index, |
| DWORD tindex, |
| GUID *category, |
| IMFTransform **transform) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFSinkWriterEx, 0x588d72ab, 0x5bc1, 0x496a, 0x87,0x14, 0xb7,0x06,0x17,0x14,0x1b,0x25) |
| #endif |
| #else |
| typedef struct IMFSinkWriterExVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFSinkWriterEx *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFSinkWriterEx *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFSinkWriterEx *This); |
| |
| /*** IMFSinkWriter methods ***/ |
| HRESULT (STDMETHODCALLTYPE *AddStream)( |
| IMFSinkWriterEx *This, |
| IMFMediaType *type, |
| DWORD *index); |
| |
| HRESULT (STDMETHODCALLTYPE *SetInputMediaType)( |
| IMFSinkWriterEx *This, |
| DWORD index, |
| IMFMediaType *type, |
| IMFAttributes *parameters); |
| |
| HRESULT (STDMETHODCALLTYPE *BeginWriting)( |
| IMFSinkWriterEx *This); |
| |
| HRESULT (STDMETHODCALLTYPE *WriteSample)( |
| IMFSinkWriterEx *This, |
| DWORD index, |
| IMFSample *sample); |
| |
| HRESULT (STDMETHODCALLTYPE *SendStreamTick)( |
| IMFSinkWriterEx *This, |
| DWORD index, |
| LONGLONG timestamp); |
| |
| HRESULT (STDMETHODCALLTYPE *PlaceMarker)( |
| IMFSinkWriterEx *This, |
| DWORD index, |
| void *context); |
| |
| HRESULT (STDMETHODCALLTYPE *NotifyEndOfSegment)( |
| IMFSinkWriterEx *This, |
| DWORD index); |
| |
| HRESULT (STDMETHODCALLTYPE *Flush)( |
| IMFSinkWriterEx *This, |
| DWORD index); |
| |
| HRESULT (STDMETHODCALLTYPE *Finalize)( |
| IMFSinkWriterEx *This); |
| |
| HRESULT (STDMETHODCALLTYPE *GetServiceForStream)( |
| IMFSinkWriterEx *This, |
| DWORD index, |
| REFGUID service, |
| REFIID riid, |
| void **object); |
| |
| HRESULT (STDMETHODCALLTYPE *GetStatistics)( |
| IMFSinkWriterEx *This, |
| DWORD index, |
| MF_SINK_WRITER_STATISTICS *stats); |
| |
| /*** IMFSinkWriterEx methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetTransformForStream)( |
| IMFSinkWriterEx *This, |
| DWORD index, |
| DWORD tindex, |
| GUID *category, |
| IMFTransform **transform); |
| |
| END_INTERFACE |
| } IMFSinkWriterExVtbl; |
| |
| interface IMFSinkWriterEx { |
| CONST_VTBL IMFSinkWriterExVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFSinkWriterEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFSinkWriterEx_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFSinkWriterEx_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFSinkWriter methods ***/ |
| #define IMFSinkWriterEx_AddStream(This,type,index) (This)->lpVtbl->AddStream(This,type,index) |
| #define IMFSinkWriterEx_SetInputMediaType(This,index,type,parameters) (This)->lpVtbl->SetInputMediaType(This,index,type,parameters) |
| #define IMFSinkWriterEx_BeginWriting(This) (This)->lpVtbl->BeginWriting(This) |
| #define IMFSinkWriterEx_WriteSample(This,index,sample) (This)->lpVtbl->WriteSample(This,index,sample) |
| #define IMFSinkWriterEx_SendStreamTick(This,index,timestamp) (This)->lpVtbl->SendStreamTick(This,index,timestamp) |
| #define IMFSinkWriterEx_PlaceMarker(This,index,context) (This)->lpVtbl->PlaceMarker(This,index,context) |
| #define IMFSinkWriterEx_NotifyEndOfSegment(This,index) (This)->lpVtbl->NotifyEndOfSegment(This,index) |
| #define IMFSinkWriterEx_Flush(This,index) (This)->lpVtbl->Flush(This,index) |
| #define IMFSinkWriterEx_Finalize(This) (This)->lpVtbl->Finalize(This) |
| #define IMFSinkWriterEx_GetServiceForStream(This,index,service,riid,object) (This)->lpVtbl->GetServiceForStream(This,index,service,riid,object) |
| #define IMFSinkWriterEx_GetStatistics(This,index,stats) (This)->lpVtbl->GetStatistics(This,index,stats) |
| /*** IMFSinkWriterEx methods ***/ |
| #define IMFSinkWriterEx_GetTransformForStream(This,index,tindex,category,transform) (This)->lpVtbl->GetTransformForStream(This,index,tindex,category,transform) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriterEx_QueryInterface(IMFSinkWriterEx* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFSinkWriterEx_AddRef(IMFSinkWriterEx* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFSinkWriterEx_Release(IMFSinkWriterEx* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFSinkWriter methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriterEx_AddStream(IMFSinkWriterEx* This,IMFMediaType *type,DWORD *index) { |
| return This->lpVtbl->AddStream(This,type,index); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterEx_SetInputMediaType(IMFSinkWriterEx* This,DWORD index,IMFMediaType *type,IMFAttributes *parameters) { |
| return This->lpVtbl->SetInputMediaType(This,index,type,parameters); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterEx_BeginWriting(IMFSinkWriterEx* This) { |
| return This->lpVtbl->BeginWriting(This); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterEx_WriteSample(IMFSinkWriterEx* This,DWORD index,IMFSample *sample) { |
| return This->lpVtbl->WriteSample(This,index,sample); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterEx_SendStreamTick(IMFSinkWriterEx* This,DWORD index,LONGLONG timestamp) { |
| return This->lpVtbl->SendStreamTick(This,index,timestamp); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterEx_PlaceMarker(IMFSinkWriterEx* This,DWORD index,void *context) { |
| return This->lpVtbl->PlaceMarker(This,index,context); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterEx_NotifyEndOfSegment(IMFSinkWriterEx* This,DWORD index) { |
| return This->lpVtbl->NotifyEndOfSegment(This,index); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterEx_Flush(IMFSinkWriterEx* This,DWORD index) { |
| return This->lpVtbl->Flush(This,index); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterEx_Finalize(IMFSinkWriterEx* This) { |
| return This->lpVtbl->Finalize(This); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterEx_GetServiceForStream(IMFSinkWriterEx* This,DWORD index,REFGUID service,REFIID riid,void **object) { |
| return This->lpVtbl->GetServiceForStream(This,index,service,riid,object); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterEx_GetStatistics(IMFSinkWriterEx* This,DWORD index,MF_SINK_WRITER_STATISTICS *stats) { |
| return This->lpVtbl->GetStatistics(This,index,stats); |
| } |
| /*** IMFSinkWriterEx methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriterEx_GetTransformForStream(IMFSinkWriterEx* This,DWORD index,DWORD tindex,GUID *category,IMFTransform **transform) { |
| return This->lpVtbl->GetTransformForStream(This,index,tindex,category,transform); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFSinkWriterEx_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFSinkWriterEncoderConfig interface |
| */ |
| #ifndef __IMFSinkWriterEncoderConfig_INTERFACE_DEFINED__ |
| #define __IMFSinkWriterEncoderConfig_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFSinkWriterEncoderConfig, 0x17c3779e, 0x3cde, 0x4ede, 0x8c,0x60, 0x38,0x99,0xf5,0xf5,0x3a,0xd6); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("17c3779e-3cde-4ede-8c60-3899f5f53ad6") |
| IMFSinkWriterEncoderConfig : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetTargetMediaType( |
| DWORD stream_index, |
| IMFMediaType *media_type, |
| IMFAttributes *encoding_parameters) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE PlaceEncodingParameters( |
| DWORD stream_index, |
| IMFAttributes *encoding_parameters) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFSinkWriterEncoderConfig, 0x17c3779e, 0x3cde, 0x4ede, 0x8c,0x60, 0x38,0x99,0xf5,0xf5,0x3a,0xd6) |
| #endif |
| #else |
| typedef struct IMFSinkWriterEncoderConfigVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFSinkWriterEncoderConfig *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFSinkWriterEncoderConfig *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFSinkWriterEncoderConfig *This); |
| |
| /*** IMFSinkWriterEncoderConfig methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetTargetMediaType)( |
| IMFSinkWriterEncoderConfig *This, |
| DWORD stream_index, |
| IMFMediaType *media_type, |
| IMFAttributes *encoding_parameters); |
| |
| HRESULT (STDMETHODCALLTYPE *PlaceEncodingParameters)( |
| IMFSinkWriterEncoderConfig *This, |
| DWORD stream_index, |
| IMFAttributes *encoding_parameters); |
| |
| END_INTERFACE |
| } IMFSinkWriterEncoderConfigVtbl; |
| |
| interface IMFSinkWriterEncoderConfig { |
| CONST_VTBL IMFSinkWriterEncoderConfigVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFSinkWriterEncoderConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFSinkWriterEncoderConfig_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFSinkWriterEncoderConfig_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFSinkWriterEncoderConfig methods ***/ |
| #define IMFSinkWriterEncoderConfig_SetTargetMediaType(This,stream_index,media_type,encoding_parameters) (This)->lpVtbl->SetTargetMediaType(This,stream_index,media_type,encoding_parameters) |
| #define IMFSinkWriterEncoderConfig_PlaceEncodingParameters(This,stream_index,encoding_parameters) (This)->lpVtbl->PlaceEncodingParameters(This,stream_index,encoding_parameters) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriterEncoderConfig_QueryInterface(IMFSinkWriterEncoderConfig* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFSinkWriterEncoderConfig_AddRef(IMFSinkWriterEncoderConfig* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFSinkWriterEncoderConfig_Release(IMFSinkWriterEncoderConfig* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFSinkWriterEncoderConfig methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriterEncoderConfig_SetTargetMediaType(IMFSinkWriterEncoderConfig* This,DWORD stream_index,IMFMediaType *media_type,IMFAttributes *encoding_parameters) { |
| return This->lpVtbl->SetTargetMediaType(This,stream_index,media_type,encoding_parameters); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterEncoderConfig_PlaceEncodingParameters(IMFSinkWriterEncoderConfig* This,DWORD stream_index,IMFAttributes *encoding_parameters) { |
| return This->lpVtbl->PlaceEncodingParameters(This,stream_index,encoding_parameters); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFSinkWriterEncoderConfig_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFSinkWriterCallback interface |
| */ |
| #ifndef __IMFSinkWriterCallback_INTERFACE_DEFINED__ |
| #define __IMFSinkWriterCallback_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFSinkWriterCallback, 0x666f76de, 0x33d2, 0x41b9, 0xa4,0x58, 0x29,0xed,0x0a,0x97,0x2c,0x58); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("666f76de-33d2-41b9-a458-29ed0a972c58") |
| IMFSinkWriterCallback : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE OnFinalize( |
| HRESULT status) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnMarker( |
| DWORD stream_index, |
| void *context) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFSinkWriterCallback, 0x666f76de, 0x33d2, 0x41b9, 0xa4,0x58, 0x29,0xed,0x0a,0x97,0x2c,0x58) |
| #endif |
| #else |
| typedef struct IMFSinkWriterCallbackVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFSinkWriterCallback *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFSinkWriterCallback *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFSinkWriterCallback *This); |
| |
| /*** IMFSinkWriterCallback methods ***/ |
| HRESULT (STDMETHODCALLTYPE *OnFinalize)( |
| IMFSinkWriterCallback *This, |
| HRESULT status); |
| |
| HRESULT (STDMETHODCALLTYPE *OnMarker)( |
| IMFSinkWriterCallback *This, |
| DWORD stream_index, |
| void *context); |
| |
| END_INTERFACE |
| } IMFSinkWriterCallbackVtbl; |
| |
| interface IMFSinkWriterCallback { |
| CONST_VTBL IMFSinkWriterCallbackVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFSinkWriterCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFSinkWriterCallback_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFSinkWriterCallback_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFSinkWriterCallback methods ***/ |
| #define IMFSinkWriterCallback_OnFinalize(This,status) (This)->lpVtbl->OnFinalize(This,status) |
| #define IMFSinkWriterCallback_OnMarker(This,stream_index,context) (This)->lpVtbl->OnMarker(This,stream_index,context) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriterCallback_QueryInterface(IMFSinkWriterCallback* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFSinkWriterCallback_AddRef(IMFSinkWriterCallback* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFSinkWriterCallback_Release(IMFSinkWriterCallback* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFSinkWriterCallback methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriterCallback_OnFinalize(IMFSinkWriterCallback* This,HRESULT status) { |
| return This->lpVtbl->OnFinalize(This,status); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterCallback_OnMarker(IMFSinkWriterCallback* This,DWORD stream_index,void *context) { |
| return This->lpVtbl->OnMarker(This,stream_index,context); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFSinkWriterCallback_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFSinkWriterCallback2 interface |
| */ |
| #ifndef __IMFSinkWriterCallback2_INTERFACE_DEFINED__ |
| #define __IMFSinkWriterCallback2_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFSinkWriterCallback2, 0x2456bd58, 0xc067, 0x4513, 0x84,0xfe, 0x8d,0x0c,0x88,0xff,0xdc,0x61); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("2456bd58-c067-4513-84fe-8d0c88ffdc61") |
| IMFSinkWriterCallback2 : public IMFSinkWriterCallback |
| { |
| virtual HRESULT STDMETHODCALLTYPE OnTransformChange( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnStreamError( |
| DWORD stream_index, |
| HRESULT status) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFSinkWriterCallback2, 0x2456bd58, 0xc067, 0x4513, 0x84,0xfe, 0x8d,0x0c,0x88,0xff,0xdc,0x61) |
| #endif |
| #else |
| typedef struct IMFSinkWriterCallback2Vtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFSinkWriterCallback2 *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFSinkWriterCallback2 *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFSinkWriterCallback2 *This); |
| |
| /*** IMFSinkWriterCallback methods ***/ |
| HRESULT (STDMETHODCALLTYPE *OnFinalize)( |
| IMFSinkWriterCallback2 *This, |
| HRESULT status); |
| |
| HRESULT (STDMETHODCALLTYPE *OnMarker)( |
| IMFSinkWriterCallback2 *This, |
| DWORD stream_index, |
| void *context); |
| |
| /*** IMFSinkWriterCallback2 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *OnTransformChange)( |
| IMFSinkWriterCallback2 *This); |
| |
| HRESULT (STDMETHODCALLTYPE *OnStreamError)( |
| IMFSinkWriterCallback2 *This, |
| DWORD stream_index, |
| HRESULT status); |
| |
| END_INTERFACE |
| } IMFSinkWriterCallback2Vtbl; |
| |
| interface IMFSinkWriterCallback2 { |
| CONST_VTBL IMFSinkWriterCallback2Vtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFSinkWriterCallback2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFSinkWriterCallback2_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFSinkWriterCallback2_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFSinkWriterCallback methods ***/ |
| #define IMFSinkWriterCallback2_OnFinalize(This,status) (This)->lpVtbl->OnFinalize(This,status) |
| #define IMFSinkWriterCallback2_OnMarker(This,stream_index,context) (This)->lpVtbl->OnMarker(This,stream_index,context) |
| /*** IMFSinkWriterCallback2 methods ***/ |
| #define IMFSinkWriterCallback2_OnTransformChange(This) (This)->lpVtbl->OnTransformChange(This) |
| #define IMFSinkWriterCallback2_OnStreamError(This,stream_index,status) (This)->lpVtbl->OnStreamError(This,stream_index,status) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriterCallback2_QueryInterface(IMFSinkWriterCallback2* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFSinkWriterCallback2_AddRef(IMFSinkWriterCallback2* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFSinkWriterCallback2_Release(IMFSinkWriterCallback2* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFSinkWriterCallback methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriterCallback2_OnFinalize(IMFSinkWriterCallback2* This,HRESULT status) { |
| return This->lpVtbl->OnFinalize(This,status); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterCallback2_OnMarker(IMFSinkWriterCallback2* This,DWORD stream_index,void *context) { |
| return This->lpVtbl->OnMarker(This,stream_index,context); |
| } |
| /*** IMFSinkWriterCallback2 methods ***/ |
| static FORCEINLINE HRESULT IMFSinkWriterCallback2_OnTransformChange(IMFSinkWriterCallback2* This) { |
| return This->lpVtbl->OnTransformChange(This); |
| } |
| static FORCEINLINE HRESULT IMFSinkWriterCallback2_OnStreamError(IMFSinkWriterCallback2* This,DWORD stream_index,HRESULT status) { |
| return This->lpVtbl->OnStreamError(This,stream_index,status); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFSinkWriterCallback2_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFReadWriteClassFactory interface |
| */ |
| #ifndef __IMFReadWriteClassFactory_INTERFACE_DEFINED__ |
| #define __IMFReadWriteClassFactory_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFReadWriteClassFactory, 0xe7fe2e12, 0x661c, 0x40da, 0x92,0xf9, 0x4f,0x00,0x2a,0xb6,0x76,0x27); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("e7fe2e12-661c-40da-92f9-4f002ab67627") |
| IMFReadWriteClassFactory : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE CreateInstanceFromURL( |
| REFCLSID clsid, |
| LPCWSTR url, |
| IMFAttributes *attributes, |
| REFIID riid, |
| void **object) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CreateInstanceFromObject( |
| REFCLSID clsid, |
| IUnknown *unk, |
| IMFAttributes *attributes, |
| REFIID riid, |
| void **object) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFReadWriteClassFactory, 0xe7fe2e12, 0x661c, 0x40da, 0x92,0xf9, 0x4f,0x00,0x2a,0xb6,0x76,0x27) |
| #endif |
| #else |
| typedef struct IMFReadWriteClassFactoryVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFReadWriteClassFactory *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFReadWriteClassFactory *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFReadWriteClassFactory *This); |
| |
| /*** IMFReadWriteClassFactory methods ***/ |
| HRESULT (STDMETHODCALLTYPE *CreateInstanceFromURL)( |
| IMFReadWriteClassFactory *This, |
| REFCLSID clsid, |
| LPCWSTR url, |
| IMFAttributes *attributes, |
| REFIID riid, |
| void **object); |
| |
| HRESULT (STDMETHODCALLTYPE *CreateInstanceFromObject)( |
| IMFReadWriteClassFactory *This, |
| REFCLSID clsid, |
| IUnknown *unk, |
| IMFAttributes *attributes, |
| REFIID riid, |
| void **object); |
| |
| END_INTERFACE |
| } IMFReadWriteClassFactoryVtbl; |
| |
| interface IMFReadWriteClassFactory { |
| CONST_VTBL IMFReadWriteClassFactoryVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFReadWriteClassFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFReadWriteClassFactory_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFReadWriteClassFactory_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFReadWriteClassFactory methods ***/ |
| #define IMFReadWriteClassFactory_CreateInstanceFromURL(This,clsid,url,attributes,riid,object) (This)->lpVtbl->CreateInstanceFromURL(This,clsid,url,attributes,riid,object) |
| #define IMFReadWriteClassFactory_CreateInstanceFromObject(This,clsid,unk,attributes,riid,object) (This)->lpVtbl->CreateInstanceFromObject(This,clsid,unk,attributes,riid,object) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFReadWriteClassFactory_QueryInterface(IMFReadWriteClassFactory* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFReadWriteClassFactory_AddRef(IMFReadWriteClassFactory* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFReadWriteClassFactory_Release(IMFReadWriteClassFactory* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFReadWriteClassFactory methods ***/ |
| static FORCEINLINE HRESULT IMFReadWriteClassFactory_CreateInstanceFromURL(IMFReadWriteClassFactory* This,REFCLSID clsid,LPCWSTR url,IMFAttributes *attributes,REFIID riid,void **object) { |
| return This->lpVtbl->CreateInstanceFromURL(This,clsid,url,attributes,riid,object); |
| } |
| static FORCEINLINE HRESULT IMFReadWriteClassFactory_CreateInstanceFromObject(IMFReadWriteClassFactory* This,REFCLSID clsid,IUnknown *unk,IMFAttributes *attributes,REFIID riid,void **object) { |
| return This->lpVtbl->CreateInstanceFromObject(This,clsid,unk,attributes,riid,object); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFReadWriteClassFactory_INTERFACE_DEFINED__ */ |
| |
| HRESULT WINAPI MFCreateSinkWriterFromMediaSink(IMFMediaSink *sink, IMFAttributes *attributes, |
| IMFSinkWriter **writer); |
| HRESULT WINAPI MFCreateSinkWriterFromURL(const WCHAR *url, IMFByteStream *bytestream, |
| IMFAttributes *attributes, IMFSinkWriter **writer); |
| HRESULT WINAPI MFCreateSourceReaderFromByteStream(IMFByteStream *stream, IMFAttributes *attributes, |
| IMFSourceReader **reader); |
| HRESULT WINAPI MFCreateSourceReaderFromMediaSource(IMFMediaSource *source, IMFAttributes *attributes, |
| IMFSourceReader **reader); |
| HRESULT WINAPI MFCreateSourceReaderFromURL(const WCHAR *url, IMFAttributes *attributes, IMFSourceReader **reader); |
| /* Begin additional prototypes for all interfaces */ |
| |
| |
| /* End additional prototypes */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* __mfreadwrite_h__ */ |