/*** Autogenerated by WIDL 10.17 from /var/tmp/portage/app-emulation/wine-vanilla-10.17/work/wine-10.17/include/evr.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #endif #ifndef __evr_h__ #define __evr_h__ /* Forward declarations */ #ifndef __IMFVideoPresenter_FWD_DEFINED__ #define __IMFVideoPresenter_FWD_DEFINED__ typedef interface IMFVideoPresenter IMFVideoPresenter; #ifdef __cplusplus interface IMFVideoPresenter; #endif /* __cplusplus */ #endif #ifndef __IEVRFilterConfig_FWD_DEFINED__ #define __IEVRFilterConfig_FWD_DEFINED__ typedef interface IEVRFilterConfig IEVRFilterConfig; #ifdef __cplusplus interface IEVRFilterConfig; #endif /* __cplusplus */ #endif #ifndef __IMFVideoPositionMapper_FWD_DEFINED__ #define __IMFVideoPositionMapper_FWD_DEFINED__ typedef interface IMFVideoPositionMapper IMFVideoPositionMapper; #ifdef __cplusplus interface IMFVideoPositionMapper; #endif /* __cplusplus */ #endif #ifndef __IMFVideoRenderer_FWD_DEFINED__ #define __IMFVideoRenderer_FWD_DEFINED__ typedef interface IMFVideoRenderer IMFVideoRenderer; #ifdef __cplusplus interface IMFVideoRenderer; #endif /* __cplusplus */ #endif #ifndef __IMFTopologyServiceLookup_FWD_DEFINED__ #define __IMFTopologyServiceLookup_FWD_DEFINED__ typedef interface IMFTopologyServiceLookup IMFTopologyServiceLookup; #ifdef __cplusplus interface IMFTopologyServiceLookup; #endif /* __cplusplus */ #endif #ifndef __IMFTopologyServiceLookupClient_FWD_DEFINED__ #define __IMFTopologyServiceLookupClient_FWD_DEFINED__ typedef interface IMFTopologyServiceLookupClient IMFTopologyServiceLookupClient; #ifdef __cplusplus interface IMFTopologyServiceLookupClient; #endif /* __cplusplus */ #endif #ifndef __IMFVideoDeviceID_FWD_DEFINED__ #define __IMFVideoDeviceID_FWD_DEFINED__ typedef interface IMFVideoDeviceID IMFVideoDeviceID; #ifdef __cplusplus interface IMFVideoDeviceID; #endif /* __cplusplus */ #endif #ifndef __IMFVideoMixerControl_FWD_DEFINED__ #define __IMFVideoMixerControl_FWD_DEFINED__ typedef interface IMFVideoMixerControl IMFVideoMixerControl; #ifdef __cplusplus interface IMFVideoMixerControl; #endif /* __cplusplus */ #endif #ifndef __IMFVideoMixerControl2_FWD_DEFINED__ #define __IMFVideoMixerControl2_FWD_DEFINED__ typedef interface IMFVideoMixerControl2 IMFVideoMixerControl2; #ifdef __cplusplus interface IMFVideoMixerControl2; #endif /* __cplusplus */ #endif #ifndef __IMFDesiredSample_FWD_DEFINED__ #define __IMFDesiredSample_FWD_DEFINED__ typedef interface IMFDesiredSample IMFDesiredSample; #ifdef __cplusplus interface IMFDesiredSample; #endif /* __cplusplus */ #endif #ifndef __IMFVideoDisplayControl_FWD_DEFINED__ #define __IMFVideoDisplayControl_FWD_DEFINED__ typedef interface IMFVideoDisplayControl IMFVideoDisplayControl; #ifdef __cplusplus interface IMFVideoDisplayControl; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif #ifndef _MFVideoNormalizedRect_ #define _MFVideoNormalizedRect_ typedef struct MFVideoNormalizedRect { float left; float top; float right; float bottom; } MFVideoNormalizedRect; #endif typedef enum _MFVP_MESSAGE_TYPE { MFVP_MESSAGE_FLUSH = 0, MFVP_MESSAGE_INVALIDATEMEDIATYPE = 1, MFVP_MESSAGE_PROCESSINPUTNOTIFY = 2, MFVP_MESSAGE_BEGINSTREAMING = 3, MFVP_MESSAGE_ENDSTREAMING = 4, MFVP_MESSAGE_ENDOFSTREAM = 5, MFVP_MESSAGE_STEP = 6, MFVP_MESSAGE_CANCELSTEP = 7 } MFVP_MESSAGE_TYPE; /***************************************************************************** * IMFVideoPresenter interface */ #ifndef __IMFVideoPresenter_INTERFACE_DEFINED__ #define __IMFVideoPresenter_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoPresenter, 0x29aff080, 0x182a, 0x4a5d, 0xaf,0x3b, 0x44,0x8f,0x3a,0x63,0x46,0xcb); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("29aff080-182a-4a5d-af3b-448f3a6346cb") IMFVideoPresenter : public IMFClockStateSink { virtual HRESULT STDMETHODCALLTYPE ProcessMessage( MFVP_MESSAGE_TYPE eMessage, ULONG_PTR ulParam) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentMediaType( IMFVideoMediaType **ppMediaType) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoPresenter, 0x29aff080, 0x182a, 0x4a5d, 0xaf,0x3b, 0x44,0x8f,0x3a,0x63,0x46,0xcb) #endif #else typedef struct IMFVideoPresenterVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoPresenter *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoPresenter *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoPresenter *This); /*** IMFClockStateSink methods ***/ HRESULT (STDMETHODCALLTYPE *OnClockStart)( IMFVideoPresenter *This, MFTIME hnsSystemTime, LONGLONG llClockStartOffset); HRESULT (STDMETHODCALLTYPE *OnClockStop)( IMFVideoPresenter *This, MFTIME hnssSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockPause)( IMFVideoPresenter *This, MFTIME hnsSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockRestart)( IMFVideoPresenter *This, MFTIME hnsSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockSetRate)( IMFVideoPresenter *This, MFTIME hnsSystemTime, float flRate); /*** IMFVideoPresenter methods ***/ HRESULT (STDMETHODCALLTYPE *ProcessMessage)( IMFVideoPresenter *This, MFVP_MESSAGE_TYPE eMessage, ULONG_PTR ulParam); HRESULT (STDMETHODCALLTYPE *GetCurrentMediaType)( IMFVideoPresenter *This, IMFVideoMediaType **ppMediaType); END_INTERFACE } IMFVideoPresenterVtbl; interface IMFVideoPresenter { CONST_VTBL IMFVideoPresenterVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoPresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoPresenter_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoPresenter_Release(This) (This)->lpVtbl->Release(This) /*** IMFClockStateSink methods ***/ #define IMFVideoPresenter_OnClockStart(This,hnsSystemTime,llClockStartOffset) (This)->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset) #define IMFVideoPresenter_OnClockStop(This,hnssSystemTime) (This)->lpVtbl->OnClockStop(This,hnssSystemTime) #define IMFVideoPresenter_OnClockPause(This,hnsSystemTime) (This)->lpVtbl->OnClockPause(This,hnsSystemTime) #define IMFVideoPresenter_OnClockRestart(This,hnsSystemTime) (This)->lpVtbl->OnClockRestart(This,hnsSystemTime) #define IMFVideoPresenter_OnClockSetRate(This,hnsSystemTime,flRate) (This)->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate) /*** IMFVideoPresenter methods ***/ #define IMFVideoPresenter_ProcessMessage(This,eMessage,ulParam) (This)->lpVtbl->ProcessMessage(This,eMessage,ulParam) #define IMFVideoPresenter_GetCurrentMediaType(This,ppMediaType) (This)->lpVtbl->GetCurrentMediaType(This,ppMediaType) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoPresenter_QueryInterface(IMFVideoPresenter* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoPresenter_AddRef(IMFVideoPresenter* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoPresenter_Release(IMFVideoPresenter* This) { return This->lpVtbl->Release(This); } /*** IMFClockStateSink methods ***/ static inline HRESULT IMFVideoPresenter_OnClockStart(IMFVideoPresenter* This,MFTIME hnsSystemTime,LONGLONG llClockStartOffset) { return This->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset); } static inline HRESULT IMFVideoPresenter_OnClockStop(IMFVideoPresenter* This,MFTIME hnssSystemTime) { return This->lpVtbl->OnClockStop(This,hnssSystemTime); } static inline HRESULT IMFVideoPresenter_OnClockPause(IMFVideoPresenter* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockPause(This,hnsSystemTime); } static inline HRESULT IMFVideoPresenter_OnClockRestart(IMFVideoPresenter* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockRestart(This,hnsSystemTime); } static inline HRESULT IMFVideoPresenter_OnClockSetRate(IMFVideoPresenter* This,MFTIME hnsSystemTime,float flRate) { return This->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate); } /*** IMFVideoPresenter methods ***/ static inline HRESULT IMFVideoPresenter_ProcessMessage(IMFVideoPresenter* This,MFVP_MESSAGE_TYPE eMessage,ULONG_PTR ulParam) { return This->lpVtbl->ProcessMessage(This,eMessage,ulParam); } static inline HRESULT IMFVideoPresenter_GetCurrentMediaType(IMFVideoPresenter* This,IMFVideoMediaType **ppMediaType) { return This->lpVtbl->GetCurrentMediaType(This,ppMediaType); } #endif #endif #endif #endif /* __IMFVideoPresenter_INTERFACE_DEFINED__ */ /***************************************************************************** * IEVRFilterConfig interface */ #ifndef __IEVRFilterConfig_INTERFACE_DEFINED__ #define __IEVRFilterConfig_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEVRFilterConfig, 0x83e91e85, 0x82c1, 0x4ea7, 0x80,0x1d, 0x85,0xdc,0x50,0xb7,0x50,0x86); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("83e91e85-82c1-4ea7-801d-85dc50b75086") IEVRFilterConfig : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( DWORD dwMaxStreams) = 0; virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( DWORD *pdwMaxStreams) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IEVRFilterConfig, 0x83e91e85, 0x82c1, 0x4ea7, 0x80,0x1d, 0x85,0xdc,0x50,0xb7,0x50,0x86) #endif #else typedef struct IEVRFilterConfigVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IEVRFilterConfig *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IEVRFilterConfig *This); ULONG (STDMETHODCALLTYPE *Release)( IEVRFilterConfig *This); /*** IEVRFilterConfig methods ***/ HRESULT (STDMETHODCALLTYPE *SetNumberOfStreams)( IEVRFilterConfig *This, DWORD dwMaxStreams); HRESULT (STDMETHODCALLTYPE *GetNumberOfStreams)( IEVRFilterConfig *This, DWORD *pdwMaxStreams); END_INTERFACE } IEVRFilterConfigVtbl; interface IEVRFilterConfig { CONST_VTBL IEVRFilterConfigVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IEVRFilterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IEVRFilterConfig_AddRef(This) (This)->lpVtbl->AddRef(This) #define IEVRFilterConfig_Release(This) (This)->lpVtbl->Release(This) /*** IEVRFilterConfig methods ***/ #define IEVRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams) #define IEVRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams) #else /*** IUnknown methods ***/ static inline HRESULT IEVRFilterConfig_QueryInterface(IEVRFilterConfig* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IEVRFilterConfig_AddRef(IEVRFilterConfig* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IEVRFilterConfig_Release(IEVRFilterConfig* This) { return This->lpVtbl->Release(This); } /*** IEVRFilterConfig methods ***/ static inline HRESULT IEVRFilterConfig_SetNumberOfStreams(IEVRFilterConfig* This,DWORD dwMaxStreams) { return This->lpVtbl->SetNumberOfStreams(This,dwMaxStreams); } static inline HRESULT IEVRFilterConfig_GetNumberOfStreams(IEVRFilterConfig* This,DWORD *pdwMaxStreams) { return This->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams); } #endif #endif #endif #endif /* __IEVRFilterConfig_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFVideoPositionMapper interface */ #ifndef __IMFVideoPositionMapper_INTERFACE_DEFINED__ #define __IMFVideoPositionMapper_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoPositionMapper, 0x1f6a9f17, 0xe70b, 0x4e24, 0x8a,0xe4, 0x0b,0x2c,0x3b,0xa7,0xa4,0xae); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("1f6a9f17-e70b-4e24-8ae4-0b2c3ba7a4ae") IMFVideoPositionMapper : public IUnknown { virtual HRESULT STDMETHODCALLTYPE MapOutputCoordinateToInputStream( float xOut, float yOut, DWORD dwOutputStreamIndex, DWORD dwInputStreamIndex, float *pxIn, float *pyIn) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoPositionMapper, 0x1f6a9f17, 0xe70b, 0x4e24, 0x8a,0xe4, 0x0b,0x2c,0x3b,0xa7,0xa4,0xae) #endif #else typedef struct IMFVideoPositionMapperVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoPositionMapper *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoPositionMapper *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoPositionMapper *This); /*** IMFVideoPositionMapper methods ***/ HRESULT (STDMETHODCALLTYPE *MapOutputCoordinateToInputStream)( IMFVideoPositionMapper *This, float xOut, float yOut, DWORD dwOutputStreamIndex, DWORD dwInputStreamIndex, float *pxIn, float *pyIn); END_INTERFACE } IMFVideoPositionMapperVtbl; interface IMFVideoPositionMapper { CONST_VTBL IMFVideoPositionMapperVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoPositionMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoPositionMapper_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoPositionMapper_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoPositionMapper methods ***/ #define IMFVideoPositionMapper_MapOutputCoordinateToInputStream(This,xOut,yOut,dwOutputStreamIndex,dwInputStreamIndex,pxIn,pyIn) (This)->lpVtbl->MapOutputCoordinateToInputStream(This,xOut,yOut,dwOutputStreamIndex,dwInputStreamIndex,pxIn,pyIn) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoPositionMapper_QueryInterface(IMFVideoPositionMapper* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoPositionMapper_AddRef(IMFVideoPositionMapper* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoPositionMapper_Release(IMFVideoPositionMapper* This) { return This->lpVtbl->Release(This); } /*** IMFVideoPositionMapper methods ***/ static inline HRESULT IMFVideoPositionMapper_MapOutputCoordinateToInputStream(IMFVideoPositionMapper* This,float xOut,float yOut,DWORD dwOutputStreamIndex,DWORD dwInputStreamIndex,float *pxIn,float *pyIn) { return This->lpVtbl->MapOutputCoordinateToInputStream(This,xOut,yOut,dwOutputStreamIndex,dwInputStreamIndex,pxIn,pyIn); } #endif #endif #endif #endif /* __IMFVideoPositionMapper_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFVideoRenderer interface */ #ifndef __IMFVideoRenderer_INTERFACE_DEFINED__ #define __IMFVideoRenderer_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoRenderer, 0xdfdfd197, 0xa9ca, 0x43d8, 0xb3,0x41, 0x6a,0xf3,0x50,0x37,0x92,0xcd); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("dfdfd197-a9ca-43d8-b341-6af3503792cd") IMFVideoRenderer : public IUnknown { virtual HRESULT STDMETHODCALLTYPE InitializeRenderer( IMFTransform *pVideoMixer, IMFVideoPresenter *pVideoPresenter) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoRenderer, 0xdfdfd197, 0xa9ca, 0x43d8, 0xb3,0x41, 0x6a,0xf3,0x50,0x37,0x92,0xcd) #endif #else typedef struct IMFVideoRendererVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoRenderer *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoRenderer *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoRenderer *This); /*** IMFVideoRenderer methods ***/ HRESULT (STDMETHODCALLTYPE *InitializeRenderer)( IMFVideoRenderer *This, IMFTransform *pVideoMixer, IMFVideoPresenter *pVideoPresenter); END_INTERFACE } IMFVideoRendererVtbl; interface IMFVideoRenderer { CONST_VTBL IMFVideoRendererVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoRenderer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoRenderer_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoRenderer_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoRenderer methods ***/ #define IMFVideoRenderer_InitializeRenderer(This,pVideoMixer,pVideoPresenter) (This)->lpVtbl->InitializeRenderer(This,pVideoMixer,pVideoPresenter) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoRenderer_QueryInterface(IMFVideoRenderer* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoRenderer_AddRef(IMFVideoRenderer* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoRenderer_Release(IMFVideoRenderer* This) { return This->lpVtbl->Release(This); } /*** IMFVideoRenderer methods ***/ static inline HRESULT IMFVideoRenderer_InitializeRenderer(IMFVideoRenderer* This,IMFTransform *pVideoMixer,IMFVideoPresenter *pVideoPresenter) { return This->lpVtbl->InitializeRenderer(This,pVideoMixer,pVideoPresenter); } #endif #endif #endif #endif /* __IMFVideoRenderer_INTERFACE_DEFINED__ */ typedef enum _MF_SERVICE_LOOKUP_TYPE { MF_SERVICE_LOOKUP_UPSTREAM = 0, MF_SERVICE_LOOKUP_UPSTREAM_DIRECT = 1, MF_SERVICE_LOOKUP_DOWNSTREAM = 2, MF_SERVICE_LOOKUP_DOWNSTREAM_DIRECT = 3, MF_SERVICE_LOOKUP_ALL = 4, MF_SERVICE_LOOKUP_GLOBAL = 5 } MF_SERVICE_LOOKUP_TYPE; /***************************************************************************** * IMFTopologyServiceLookup interface */ #ifndef __IMFTopologyServiceLookup_INTERFACE_DEFINED__ #define __IMFTopologyServiceLookup_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFTopologyServiceLookup, 0xfa993889, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fa993889-4383-415a-a930-dd472a8cf6f7") IMFTopologyServiceLookup : public IUnknown { virtual HRESULT STDMETHODCALLTYPE LookupService( MF_SERVICE_LOOKUP_TYPE lookup_type, DWORD index, REFGUID service, REFIID riid, void **objects, DWORD *num_objects) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFTopologyServiceLookup, 0xfa993889, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7) #endif #else typedef struct IMFTopologyServiceLookupVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFTopologyServiceLookup *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFTopologyServiceLookup *This); ULONG (STDMETHODCALLTYPE *Release)( IMFTopologyServiceLookup *This); /*** IMFTopologyServiceLookup methods ***/ HRESULT (STDMETHODCALLTYPE *LookupService)( IMFTopologyServiceLookup *This, MF_SERVICE_LOOKUP_TYPE lookup_type, DWORD index, REFGUID service, REFIID riid, void **objects, DWORD *num_objects); END_INTERFACE } IMFTopologyServiceLookupVtbl; interface IMFTopologyServiceLookup { CONST_VTBL IMFTopologyServiceLookupVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFTopologyServiceLookup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFTopologyServiceLookup_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFTopologyServiceLookup_Release(This) (This)->lpVtbl->Release(This) /*** IMFTopologyServiceLookup methods ***/ #define IMFTopologyServiceLookup_LookupService(This,lookup_type,index,service,riid,objects,num_objects) (This)->lpVtbl->LookupService(This,lookup_type,index,service,riid,objects,num_objects) #else /*** IUnknown methods ***/ static inline HRESULT IMFTopologyServiceLookup_QueryInterface(IMFTopologyServiceLookup* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFTopologyServiceLookup_AddRef(IMFTopologyServiceLookup* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFTopologyServiceLookup_Release(IMFTopologyServiceLookup* This) { return This->lpVtbl->Release(This); } /*** IMFTopologyServiceLookup methods ***/ static inline HRESULT IMFTopologyServiceLookup_LookupService(IMFTopologyServiceLookup* This,MF_SERVICE_LOOKUP_TYPE lookup_type,DWORD index,REFGUID service,REFIID riid,void **objects,DWORD *num_objects) { return This->lpVtbl->LookupService(This,lookup_type,index,service,riid,objects,num_objects); } #endif #endif #endif #endif /* __IMFTopologyServiceLookup_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFTopologyServiceLookupClient interface */ #ifndef __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__ #define __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFTopologyServiceLookupClient, 0xfa99388a, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fa99388a-4383-415a-a930-dd472a8cf6f7") IMFTopologyServiceLookupClient : public IUnknown { virtual HRESULT STDMETHODCALLTYPE InitServicePointers( IMFTopologyServiceLookup *service_lookup) = 0; virtual HRESULT STDMETHODCALLTYPE ReleaseServicePointers( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFTopologyServiceLookupClient, 0xfa99388a, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7) #endif #else typedef struct IMFTopologyServiceLookupClientVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFTopologyServiceLookupClient *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFTopologyServiceLookupClient *This); ULONG (STDMETHODCALLTYPE *Release)( IMFTopologyServiceLookupClient *This); /*** IMFTopologyServiceLookupClient methods ***/ HRESULT (STDMETHODCALLTYPE *InitServicePointers)( IMFTopologyServiceLookupClient *This, IMFTopologyServiceLookup *service_lookup); HRESULT (STDMETHODCALLTYPE *ReleaseServicePointers)( IMFTopologyServiceLookupClient *This); END_INTERFACE } IMFTopologyServiceLookupClientVtbl; interface IMFTopologyServiceLookupClient { CONST_VTBL IMFTopologyServiceLookupClientVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFTopologyServiceLookupClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFTopologyServiceLookupClient_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFTopologyServiceLookupClient_Release(This) (This)->lpVtbl->Release(This) /*** IMFTopologyServiceLookupClient methods ***/ #define IMFTopologyServiceLookupClient_InitServicePointers(This,service_lookup) (This)->lpVtbl->InitServicePointers(This,service_lookup) #define IMFTopologyServiceLookupClient_ReleaseServicePointers(This) (This)->lpVtbl->ReleaseServicePointers(This) #else /*** IUnknown methods ***/ static inline HRESULT IMFTopologyServiceLookupClient_QueryInterface(IMFTopologyServiceLookupClient* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFTopologyServiceLookupClient_AddRef(IMFTopologyServiceLookupClient* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFTopologyServiceLookupClient_Release(IMFTopologyServiceLookupClient* This) { return This->lpVtbl->Release(This); } /*** IMFTopologyServiceLookupClient methods ***/ static inline HRESULT IMFTopologyServiceLookupClient_InitServicePointers(IMFTopologyServiceLookupClient* This,IMFTopologyServiceLookup *service_lookup) { return This->lpVtbl->InitServicePointers(This,service_lookup); } static inline HRESULT IMFTopologyServiceLookupClient_ReleaseServicePointers(IMFTopologyServiceLookupClient* This) { return This->lpVtbl->ReleaseServicePointers(This); } #endif #endif #endif #endif /* __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFVideoDeviceID interface */ #ifndef __IMFVideoDeviceID_INTERFACE_DEFINED__ #define __IMFVideoDeviceID_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoDeviceID, 0xa38d9567, 0x5a9c, 0x4f3c, 0xb2,0x93, 0x8e,0xb4,0x15,0xb2,0x79,0xba); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a38d9567-5a9c-4f3c-b293-8eb415b279ba") IMFVideoDeviceID : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetDeviceID( IID *device_id) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoDeviceID, 0xa38d9567, 0x5a9c, 0x4f3c, 0xb2,0x93, 0x8e,0xb4,0x15,0xb2,0x79,0xba) #endif #else typedef struct IMFVideoDeviceIDVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoDeviceID *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoDeviceID *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoDeviceID *This); /*** IMFVideoDeviceID methods ***/ HRESULT (STDMETHODCALLTYPE *GetDeviceID)( IMFVideoDeviceID *This, IID *device_id); END_INTERFACE } IMFVideoDeviceIDVtbl; interface IMFVideoDeviceID { CONST_VTBL IMFVideoDeviceIDVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoDeviceID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoDeviceID_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoDeviceID_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoDeviceID methods ***/ #define IMFVideoDeviceID_GetDeviceID(This,device_id) (This)->lpVtbl->GetDeviceID(This,device_id) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoDeviceID_QueryInterface(IMFVideoDeviceID* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoDeviceID_AddRef(IMFVideoDeviceID* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoDeviceID_Release(IMFVideoDeviceID* This) { return This->lpVtbl->Release(This); } /*** IMFVideoDeviceID methods ***/ static inline HRESULT IMFVideoDeviceID_GetDeviceID(IMFVideoDeviceID* This,IID *device_id) { return This->lpVtbl->GetDeviceID(This,device_id); } #endif #endif #endif #endif /* __IMFVideoDeviceID_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFVideoMixerControl interface */ #ifndef __IMFVideoMixerControl_INTERFACE_DEFINED__ #define __IMFVideoMixerControl_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoMixerControl, 0xa5c6c53f, 0xc202, 0x4aa5, 0x96,0x95, 0x17,0x5b,0xa8,0xc5,0x08,0xa5); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a5c6c53f-c202-4aa5-9695-175ba8c508a5") IMFVideoMixerControl : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetStreamZOrder( DWORD stream_id, DWORD zorder) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamZOrder( DWORD stream_id, DWORD *zorder) = 0; virtual HRESULT STDMETHODCALLTYPE SetStreamOutputRect( DWORD stream_id, const MFVideoNormalizedRect *rect) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamOutputRect( DWORD stream_id, MFVideoNormalizedRect *rect) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoMixerControl, 0xa5c6c53f, 0xc202, 0x4aa5, 0x96,0x95, 0x17,0x5b,0xa8,0xc5,0x08,0xa5) #endif #else typedef struct IMFVideoMixerControlVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoMixerControl *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoMixerControl *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoMixerControl *This); /*** IMFVideoMixerControl methods ***/ HRESULT (STDMETHODCALLTYPE *SetStreamZOrder)( IMFVideoMixerControl *This, DWORD stream_id, DWORD zorder); HRESULT (STDMETHODCALLTYPE *GetStreamZOrder)( IMFVideoMixerControl *This, DWORD stream_id, DWORD *zorder); HRESULT (STDMETHODCALLTYPE *SetStreamOutputRect)( IMFVideoMixerControl *This, DWORD stream_id, const MFVideoNormalizedRect *rect); HRESULT (STDMETHODCALLTYPE *GetStreamOutputRect)( IMFVideoMixerControl *This, DWORD stream_id, MFVideoNormalizedRect *rect); END_INTERFACE } IMFVideoMixerControlVtbl; interface IMFVideoMixerControl { CONST_VTBL IMFVideoMixerControlVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoMixerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoMixerControl_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoMixerControl_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoMixerControl methods ***/ #define IMFVideoMixerControl_SetStreamZOrder(This,stream_id,zorder) (This)->lpVtbl->SetStreamZOrder(This,stream_id,zorder) #define IMFVideoMixerControl_GetStreamZOrder(This,stream_id,zorder) (This)->lpVtbl->GetStreamZOrder(This,stream_id,zorder) #define IMFVideoMixerControl_SetStreamOutputRect(This,stream_id,rect) (This)->lpVtbl->SetStreamOutputRect(This,stream_id,rect) #define IMFVideoMixerControl_GetStreamOutputRect(This,stream_id,rect) (This)->lpVtbl->GetStreamOutputRect(This,stream_id,rect) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoMixerControl_QueryInterface(IMFVideoMixerControl* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoMixerControl_AddRef(IMFVideoMixerControl* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoMixerControl_Release(IMFVideoMixerControl* This) { return This->lpVtbl->Release(This); } /*** IMFVideoMixerControl methods ***/ static inline HRESULT IMFVideoMixerControl_SetStreamZOrder(IMFVideoMixerControl* This,DWORD stream_id,DWORD zorder) { return This->lpVtbl->SetStreamZOrder(This,stream_id,zorder); } static inline HRESULT IMFVideoMixerControl_GetStreamZOrder(IMFVideoMixerControl* This,DWORD stream_id,DWORD *zorder) { return This->lpVtbl->GetStreamZOrder(This,stream_id,zorder); } static inline HRESULT IMFVideoMixerControl_SetStreamOutputRect(IMFVideoMixerControl* This,DWORD stream_id,const MFVideoNormalizedRect *rect) { return This->lpVtbl->SetStreamOutputRect(This,stream_id,rect); } static inline HRESULT IMFVideoMixerControl_GetStreamOutputRect(IMFVideoMixerControl* This,DWORD stream_id,MFVideoNormalizedRect *rect) { return This->lpVtbl->GetStreamOutputRect(This,stream_id,rect); } #endif #endif #endif #endif /* __IMFVideoMixerControl_INTERFACE_DEFINED__ */ typedef enum _MFVideoMixPrefs { MFVideoMixPrefs_ForceHalfInterlace = 0x1, MFVideoMixPrefs_AllowDropToHalfInterlace = 0x2, MFVideoMixPrefs_AllowDropToBob = 0x4, MFVideoMixPrefs_ForceBob = 0x8, MFVideoMixPrefs_EnableRotation = 0x10, MFVideoMixPrefs_Mask = 0x1f } MFVideoMixPrefs; /***************************************************************************** * IMFVideoMixerControl2 interface */ #ifndef __IMFVideoMixerControl2_INTERFACE_DEFINED__ #define __IMFVideoMixerControl2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoMixerControl2, 0x8459616d, 0x966e, 0x4930, 0xb6,0x58, 0x54,0xfa,0x7e,0x5a,0x16,0xd3); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("8459616d-966e-4930-b658-54fa7e5a16d3") IMFVideoMixerControl2 : public IMFVideoMixerControl { virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( DWORD flags) = 0; virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( DWORD *flags) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoMixerControl2, 0x8459616d, 0x966e, 0x4930, 0xb6,0x58, 0x54,0xfa,0x7e,0x5a,0x16,0xd3) #endif #else typedef struct IMFVideoMixerControl2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoMixerControl2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoMixerControl2 *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoMixerControl2 *This); /*** IMFVideoMixerControl methods ***/ HRESULT (STDMETHODCALLTYPE *SetStreamZOrder)( IMFVideoMixerControl2 *This, DWORD stream_id, DWORD zorder); HRESULT (STDMETHODCALLTYPE *GetStreamZOrder)( IMFVideoMixerControl2 *This, DWORD stream_id, DWORD *zorder); HRESULT (STDMETHODCALLTYPE *SetStreamOutputRect)( IMFVideoMixerControl2 *This, DWORD stream_id, const MFVideoNormalizedRect *rect); HRESULT (STDMETHODCALLTYPE *GetStreamOutputRect)( IMFVideoMixerControl2 *This, DWORD stream_id, MFVideoNormalizedRect *rect); /*** IMFVideoMixerControl2 methods ***/ HRESULT (STDMETHODCALLTYPE *SetMixingPrefs)( IMFVideoMixerControl2 *This, DWORD flags); HRESULT (STDMETHODCALLTYPE *GetMixingPrefs)( IMFVideoMixerControl2 *This, DWORD *flags); END_INTERFACE } IMFVideoMixerControl2Vtbl; interface IMFVideoMixerControl2 { CONST_VTBL IMFVideoMixerControl2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoMixerControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoMixerControl2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoMixerControl2_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoMixerControl methods ***/ #define IMFVideoMixerControl2_SetStreamZOrder(This,stream_id,zorder) (This)->lpVtbl->SetStreamZOrder(This,stream_id,zorder) #define IMFVideoMixerControl2_GetStreamZOrder(This,stream_id,zorder) (This)->lpVtbl->GetStreamZOrder(This,stream_id,zorder) #define IMFVideoMixerControl2_SetStreamOutputRect(This,stream_id,rect) (This)->lpVtbl->SetStreamOutputRect(This,stream_id,rect) #define IMFVideoMixerControl2_GetStreamOutputRect(This,stream_id,rect) (This)->lpVtbl->GetStreamOutputRect(This,stream_id,rect) /*** IMFVideoMixerControl2 methods ***/ #define IMFVideoMixerControl2_SetMixingPrefs(This,flags) (This)->lpVtbl->SetMixingPrefs(This,flags) #define IMFVideoMixerControl2_GetMixingPrefs(This,flags) (This)->lpVtbl->GetMixingPrefs(This,flags) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoMixerControl2_QueryInterface(IMFVideoMixerControl2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoMixerControl2_AddRef(IMFVideoMixerControl2* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoMixerControl2_Release(IMFVideoMixerControl2* This) { return This->lpVtbl->Release(This); } /*** IMFVideoMixerControl methods ***/ static inline HRESULT IMFVideoMixerControl2_SetStreamZOrder(IMFVideoMixerControl2* This,DWORD stream_id,DWORD zorder) { return This->lpVtbl->SetStreamZOrder(This,stream_id,zorder); } static inline HRESULT IMFVideoMixerControl2_GetStreamZOrder(IMFVideoMixerControl2* This,DWORD stream_id,DWORD *zorder) { return This->lpVtbl->GetStreamZOrder(This,stream_id,zorder); } static inline HRESULT IMFVideoMixerControl2_SetStreamOutputRect(IMFVideoMixerControl2* This,DWORD stream_id,const MFVideoNormalizedRect *rect) { return This->lpVtbl->SetStreamOutputRect(This,stream_id,rect); } static inline HRESULT IMFVideoMixerControl2_GetStreamOutputRect(IMFVideoMixerControl2* This,DWORD stream_id,MFVideoNormalizedRect *rect) { return This->lpVtbl->GetStreamOutputRect(This,stream_id,rect); } /*** IMFVideoMixerControl2 methods ***/ static inline HRESULT IMFVideoMixerControl2_SetMixingPrefs(IMFVideoMixerControl2* This,DWORD flags) { return This->lpVtbl->SetMixingPrefs(This,flags); } static inline HRESULT IMFVideoMixerControl2_GetMixingPrefs(IMFVideoMixerControl2* This,DWORD *flags) { return This->lpVtbl->GetMixingPrefs(This,flags); } #endif #endif #endif #endif /* __IMFVideoMixerControl2_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFDesiredSample interface */ #ifndef __IMFDesiredSample_INTERFACE_DEFINED__ #define __IMFDesiredSample_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFDesiredSample, 0x56c294d0, 0x753e, 0x4260, 0x8d,0x61, 0xa3,0xd8,0x82,0x0b,0x1d,0x54); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("56c294d0-753e-4260-8d61-a3d8820b1d54") IMFDesiredSample : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetDesiredSampleTimeAndDuration( LONGLONG *sample_time, LONGLONG *sample_duration) = 0; virtual void STDMETHODCALLTYPE SetDesiredSampleTimeAndDuration( LONGLONG sample_time, LONGLONG sample_duration) = 0; virtual void STDMETHODCALLTYPE Clear( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFDesiredSample, 0x56c294d0, 0x753e, 0x4260, 0x8d,0x61, 0xa3,0xd8,0x82,0x0b,0x1d,0x54) #endif #else typedef struct IMFDesiredSampleVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFDesiredSample *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFDesiredSample *This); ULONG (STDMETHODCALLTYPE *Release)( IMFDesiredSample *This); /*** IMFDesiredSample methods ***/ HRESULT (STDMETHODCALLTYPE *GetDesiredSampleTimeAndDuration)( IMFDesiredSample *This, LONGLONG *sample_time, LONGLONG *sample_duration); void (STDMETHODCALLTYPE *SetDesiredSampleTimeAndDuration)( IMFDesiredSample *This, LONGLONG sample_time, LONGLONG sample_duration); void (STDMETHODCALLTYPE *Clear)( IMFDesiredSample *This); END_INTERFACE } IMFDesiredSampleVtbl; interface IMFDesiredSample { CONST_VTBL IMFDesiredSampleVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFDesiredSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFDesiredSample_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFDesiredSample_Release(This) (This)->lpVtbl->Release(This) /*** IMFDesiredSample methods ***/ #define IMFDesiredSample_GetDesiredSampleTimeAndDuration(This,sample_time,sample_duration) (This)->lpVtbl->GetDesiredSampleTimeAndDuration(This,sample_time,sample_duration) #define IMFDesiredSample_SetDesiredSampleTimeAndDuration(This,sample_time,sample_duration) (This)->lpVtbl->SetDesiredSampleTimeAndDuration(This,sample_time,sample_duration) #define IMFDesiredSample_Clear(This) (This)->lpVtbl->Clear(This) #else /*** IUnknown methods ***/ static inline HRESULT IMFDesiredSample_QueryInterface(IMFDesiredSample* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFDesiredSample_AddRef(IMFDesiredSample* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFDesiredSample_Release(IMFDesiredSample* This) { return This->lpVtbl->Release(This); } /*** IMFDesiredSample methods ***/ static inline HRESULT IMFDesiredSample_GetDesiredSampleTimeAndDuration(IMFDesiredSample* This,LONGLONG *sample_time,LONGLONG *sample_duration) { return This->lpVtbl->GetDesiredSampleTimeAndDuration(This,sample_time,sample_duration); } static inline void IMFDesiredSample_SetDesiredSampleTimeAndDuration(IMFDesiredSample* This,LONGLONG sample_time,LONGLONG sample_duration) { This->lpVtbl->SetDesiredSampleTimeAndDuration(This,sample_time,sample_duration); } static inline void IMFDesiredSample_Clear(IMFDesiredSample* This) { This->lpVtbl->Clear(This); } #endif #endif #endif #endif /* __IMFDesiredSample_INTERFACE_DEFINED__ */ typedef enum MFVideoAspectRatioMode { MFVideoARMode_None = 0x0, MFVideoARMode_PreservePicture = 0x1, MFVideoARMode_PreservePixel = 0x2, MFVideoARMode_NonLinearStretch = 0x4, MFVideoARMode_Mask = 0x7 } MFVideoAspectRatioMode; /***************************************************************************** * IMFVideoDisplayControl interface */ #ifndef __IMFVideoDisplayControl_INTERFACE_DEFINED__ #define __IMFVideoDisplayControl_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoDisplayControl, 0xa490b1e4, 0xab84, 0x4d31, 0xa1,0xb2, 0x18,0x1e,0x03,0xb1,0x07,0x7a); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a490b1e4-ab84-4d31-a1b2-181e03b1077a") IMFVideoDisplayControl : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize( SIZE *video_size, SIZE *aspect_ratio) = 0; virtual HRESULT STDMETHODCALLTYPE GetIdealVideoSize( SIZE *min_size, SIZE *max_size) = 0; virtual HRESULT STDMETHODCALLTYPE SetVideoPosition( const MFVideoNormalizedRect *source, const RECT *dest) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( MFVideoNormalizedRect *source, RECT *dest) = 0; virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( DWORD mode) = 0; virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( DWORD *mode) = 0; virtual HRESULT STDMETHODCALLTYPE SetVideoWindow( HWND window) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoWindow( HWND *window) = 0; virtual HRESULT STDMETHODCALLTYPE RepaintVideo( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( LPBITMAPINFOHEADER header, BYTE **dib, DWORD *dib_size, LONGLONG *timestamp) = 0; virtual HRESULT STDMETHODCALLTYPE SetBorderColor( COLORREF color) = 0; virtual HRESULT STDMETHODCALLTYPE GetBorderColor( COLORREF *color) = 0; virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( DWORD flags) = 0; virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( DWORD *flags) = 0; virtual HRESULT STDMETHODCALLTYPE SetFullscreen( BOOL fullscreen) = 0; virtual HRESULT STDMETHODCALLTYPE GetFullscreen( BOOL *fullscreen) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoDisplayControl, 0xa490b1e4, 0xab84, 0x4d31, 0xa1,0xb2, 0x18,0x1e,0x03,0xb1,0x07,0x7a) #endif #else typedef struct IMFVideoDisplayControlVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoDisplayControl *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoDisplayControl *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoDisplayControl *This); /*** IMFVideoDisplayControl methods ***/ HRESULT (STDMETHODCALLTYPE *GetNativeVideoSize)( IMFVideoDisplayControl *This, SIZE *video_size, SIZE *aspect_ratio); HRESULT (STDMETHODCALLTYPE *GetIdealVideoSize)( IMFVideoDisplayControl *This, SIZE *min_size, SIZE *max_size); HRESULT (STDMETHODCALLTYPE *SetVideoPosition)( IMFVideoDisplayControl *This, const MFVideoNormalizedRect *source, const RECT *dest); HRESULT (STDMETHODCALLTYPE *GetVideoPosition)( IMFVideoDisplayControl *This, MFVideoNormalizedRect *source, RECT *dest); HRESULT (STDMETHODCALLTYPE *SetAspectRatioMode)( IMFVideoDisplayControl *This, DWORD mode); HRESULT (STDMETHODCALLTYPE *GetAspectRatioMode)( IMFVideoDisplayControl *This, DWORD *mode); HRESULT (STDMETHODCALLTYPE *SetVideoWindow)( IMFVideoDisplayControl *This, HWND window); HRESULT (STDMETHODCALLTYPE *GetVideoWindow)( IMFVideoDisplayControl *This, HWND *window); HRESULT (STDMETHODCALLTYPE *RepaintVideo)( IMFVideoDisplayControl *This); HRESULT (STDMETHODCALLTYPE *GetCurrentImage)( IMFVideoDisplayControl *This, LPBITMAPINFOHEADER header, BYTE **dib, DWORD *dib_size, LONGLONG *timestamp); HRESULT (STDMETHODCALLTYPE *SetBorderColor)( IMFVideoDisplayControl *This, COLORREF color); HRESULT (STDMETHODCALLTYPE *GetBorderColor)( IMFVideoDisplayControl *This, COLORREF *color); HRESULT (STDMETHODCALLTYPE *SetRenderingPrefs)( IMFVideoDisplayControl *This, DWORD flags); HRESULT (STDMETHODCALLTYPE *GetRenderingPrefs)( IMFVideoDisplayControl *This, DWORD *flags); HRESULT (STDMETHODCALLTYPE *SetFullscreen)( IMFVideoDisplayControl *This, BOOL fullscreen); HRESULT (STDMETHODCALLTYPE *GetFullscreen)( IMFVideoDisplayControl *This, BOOL *fullscreen); END_INTERFACE } IMFVideoDisplayControlVtbl; interface IMFVideoDisplayControl { CONST_VTBL IMFVideoDisplayControlVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoDisplayControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoDisplayControl_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoDisplayControl_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoDisplayControl methods ***/ #define IMFVideoDisplayControl_GetNativeVideoSize(This,video_size,aspect_ratio) (This)->lpVtbl->GetNativeVideoSize(This,video_size,aspect_ratio) #define IMFVideoDisplayControl_GetIdealVideoSize(This,min_size,max_size) (This)->lpVtbl->GetIdealVideoSize(This,min_size,max_size) #define IMFVideoDisplayControl_SetVideoPosition(This,source,dest) (This)->lpVtbl->SetVideoPosition(This,source,dest) #define IMFVideoDisplayControl_GetVideoPosition(This,source,dest) (This)->lpVtbl->GetVideoPosition(This,source,dest) #define IMFVideoDisplayControl_SetAspectRatioMode(This,mode) (This)->lpVtbl->SetAspectRatioMode(This,mode) #define IMFVideoDisplayControl_GetAspectRatioMode(This,mode) (This)->lpVtbl->GetAspectRatioMode(This,mode) #define IMFVideoDisplayControl_SetVideoWindow(This,window) (This)->lpVtbl->SetVideoWindow(This,window) #define IMFVideoDisplayControl_GetVideoWindow(This,window) (This)->lpVtbl->GetVideoWindow(This,window) #define IMFVideoDisplayControl_RepaintVideo(This) (This)->lpVtbl->RepaintVideo(This) #define IMFVideoDisplayControl_GetCurrentImage(This,header,dib,dib_size,timestamp) (This)->lpVtbl->GetCurrentImage(This,header,dib,dib_size,timestamp) #define IMFVideoDisplayControl_SetBorderColor(This,color) (This)->lpVtbl->SetBorderColor(This,color) #define IMFVideoDisplayControl_GetBorderColor(This,color) (This)->lpVtbl->GetBorderColor(This,color) #define IMFVideoDisplayControl_SetRenderingPrefs(This,flags) (This)->lpVtbl->SetRenderingPrefs(This,flags) #define IMFVideoDisplayControl_GetRenderingPrefs(This,flags) (This)->lpVtbl->GetRenderingPrefs(This,flags) #define IMFVideoDisplayControl_SetFullscreen(This,fullscreen) (This)->lpVtbl->SetFullscreen(This,fullscreen) #define IMFVideoDisplayControl_GetFullscreen(This,fullscreen) (This)->lpVtbl->GetFullscreen(This,fullscreen) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoDisplayControl_QueryInterface(IMFVideoDisplayControl* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoDisplayControl_AddRef(IMFVideoDisplayControl* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoDisplayControl_Release(IMFVideoDisplayControl* This) { return This->lpVtbl->Release(This); } /*** IMFVideoDisplayControl methods ***/ static inline HRESULT IMFVideoDisplayControl_GetNativeVideoSize(IMFVideoDisplayControl* This,SIZE *video_size,SIZE *aspect_ratio) { return This->lpVtbl->GetNativeVideoSize(This,video_size,aspect_ratio); } static inline HRESULT IMFVideoDisplayControl_GetIdealVideoSize(IMFVideoDisplayControl* This,SIZE *min_size,SIZE *max_size) { return This->lpVtbl->GetIdealVideoSize(This,min_size,max_size); } static inline HRESULT IMFVideoDisplayControl_SetVideoPosition(IMFVideoDisplayControl* This,const MFVideoNormalizedRect *source,const RECT *dest) { return This->lpVtbl->SetVideoPosition(This,source,dest); } static inline HRESULT IMFVideoDisplayControl_GetVideoPosition(IMFVideoDisplayControl* This,MFVideoNormalizedRect *source,RECT *dest) { return This->lpVtbl->GetVideoPosition(This,source,dest); } static inline HRESULT IMFVideoDisplayControl_SetAspectRatioMode(IMFVideoDisplayControl* This,DWORD mode) { return This->lpVtbl->SetAspectRatioMode(This,mode); } static inline HRESULT IMFVideoDisplayControl_GetAspectRatioMode(IMFVideoDisplayControl* This,DWORD *mode) { return This->lpVtbl->GetAspectRatioMode(This,mode); } static inline HRESULT IMFVideoDisplayControl_SetVideoWindow(IMFVideoDisplayControl* This,HWND window) { return This->lpVtbl->SetVideoWindow(This,window); } static inline HRESULT IMFVideoDisplayControl_GetVideoWindow(IMFVideoDisplayControl* This,HWND *window) { return This->lpVtbl->GetVideoWindow(This,window); } static inline HRESULT IMFVideoDisplayControl_RepaintVideo(IMFVideoDisplayControl* This) { return This->lpVtbl->RepaintVideo(This); } static inline HRESULT IMFVideoDisplayControl_GetCurrentImage(IMFVideoDisplayControl* This,LPBITMAPINFOHEADER header,BYTE **dib,DWORD *dib_size,LONGLONG *timestamp) { return This->lpVtbl->GetCurrentImage(This,header,dib,dib_size,timestamp); } static inline HRESULT IMFVideoDisplayControl_SetBorderColor(IMFVideoDisplayControl* This,COLORREF color) { return This->lpVtbl->SetBorderColor(This,color); } static inline HRESULT IMFVideoDisplayControl_GetBorderColor(IMFVideoDisplayControl* This,COLORREF *color) { return This->lpVtbl->GetBorderColor(This,color); } static inline HRESULT IMFVideoDisplayControl_SetRenderingPrefs(IMFVideoDisplayControl* This,DWORD flags) { return This->lpVtbl->SetRenderingPrefs(This,flags); } static inline HRESULT IMFVideoDisplayControl_GetRenderingPrefs(IMFVideoDisplayControl* This,DWORD *flags) { return This->lpVtbl->GetRenderingPrefs(This,flags); } static inline HRESULT IMFVideoDisplayControl_SetFullscreen(IMFVideoDisplayControl* This,BOOL fullscreen) { return This->lpVtbl->SetFullscreen(This,fullscreen); } static inline HRESULT IMFVideoDisplayControl_GetFullscreen(IMFVideoDisplayControl* This,BOOL *fullscreen) { return This->lpVtbl->GetFullscreen(This,fullscreen); } #endif #endif #endif #endif /* __IMFVideoDisplayControl_INTERFACE_DEFINED__ */ DEFINE_GUID(MR_VIDEO_RENDER_SERVICE, 0x1092a86c, 0xab1a, 0x459a, 0xa3, 0x36, 0x83, 0x1f, 0xbc, 0x4d, 0x11, 0xff); DEFINE_GUID(MR_VIDEO_MIXER_SERVICE, 0x073cd2fc, 0x6cf4, 0x40b7, 0x88, 0x59, 0xe8, 0x95, 0x52, 0xc8, 0x41, 0xf8); DEFINE_GUID(MR_VIDEO_ACCELERATION_SERVICE, 0xefef5175, 0x5c7d, 0x4ce2, 0xbb, 0xbd, 0x34, 0xff, 0x8b, 0xca, 0x65, 0x54); DEFINE_GUID(MR_BUFFER_SERVICE, 0xa562248c, 0x9ac6, 0x4ffc, 0x9f, 0xba, 0x3a, 0xf8, 0xf8, 0xad, 0x1a, 0x4d); DEFINE_GUID(VIDEO_ZOOM_RECT, 0x7aaa1638, 0x1b7f, 0x4c93, 0xbd, 0x89, 0x5b, 0x9c, 0x9f, 0xb6, 0xfc, 0xf0); HRESULT WINAPI MFCreateVideoMixer(IUnknown *owner, REFIID riid_device, REFIID riid, void **obj); HRESULT WINAPI MFCreateVideoMixerAndPresenter(IUnknown *mixer_outer, IUnknown *presenter_outer, REFIID riid_mixer, void **mixer, REFIID riid_presenter, void **presenter); HRESULT WINAPI MFCreateVideoPresenter(IUnknown *owner, REFIID riid_device, REFIID riid, void **obj); HRESULT WINAPI MFCreateVideoRenderer(REFIID riid, void **renderer); HRESULT WINAPI MFCreateVideoSampleAllocator(REFIID riid, void **allocator); HRESULT WINAPI MFCreateVideoSampleFromSurface(IUnknown *surface, IMFSample **sample); /* Begin additional prototypes for all interfaces */ ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); void __RPC_USER HWND_UserFree (ULONG *, HWND *); /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __evr_h__ */