123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659 |
- /*** Autogenerated by WIDL 7.7 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__ */
|