| evr.h (6.0.6002.18005-Windows 6.0) | | evr.h (6.1.7601.19091-Windows 7.0) |
| | |
| /* this ALWAYS GENERATED file contains the definitions for the interfaces */ | | /* this ALWAYS GENERATED file contains the definitions for the interfaces */ |
| | |
|
| /* File created by MIDL compiler version 7.00.0499 */ | | /* File created by MIDL compiler version 7.00.0555 */ |
| /* Compiler settings for evr.idl: | | /* Compiler settings for evr.idl: |
|
| Oicf, W1, Zp8, env=Win32 (32b run) | | Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 |
| protocol : dce , ms_ext, c_ext, robust | | protocol : dce , ms_ext, c_ext, robust |
| error checks: allocation ref bounds_check enum stub_data | | error checks: allocation ref bounds_check enum stub_data |
| VC __declspec() decoration level: | | VC __declspec() decoration level: |
| __declspec(uuid()), __declspec(selectany), __declspec(novtable) | | __declspec(uuid()), __declspec(selectany), __declspec(novtable) |
| DECLSPEC_UUID(), MIDL_INTERFACE() | | DECLSPEC_UUID(), MIDL_INTERFACE() |
| */ | | */ |
|
| //@@MIDL_FILE_HEADING( ) | | /* @@MIDL_FILE_HEADING( ) */ |
| | |
| #pragma warning( disable: 4049 ) /* more than 64k source lines */ | | #pragma warning( disable: 4049 ) /* more than 64k source lines */ |
| | |
| /* verify that the <rpcndr.h> version is high enough to compile this file*/ | | /* verify that the <rpcndr.h> version is high enough to compile this file*/ |
| #ifndef __REQUIRED_RPCNDR_H_VERSION__ | | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
| #define __REQUIRED_RPCNDR_H_VERSION__ 500 | | #define __REQUIRED_RPCNDR_H_VERSION__ 500 |
| #endif | | #endif |
| | |
| /* verify that the <rpcsal.h> version is high enough to compile this file*/ | | /* verify that the <rpcsal.h> version is high enough to compile this file*/ |
| #ifndef __REQUIRED_RPCSAL_H_VERSION__ | | #ifndef __REQUIRED_RPCSAL_H_VERSION__ |
| | |
| skipping to change at line 83 | | skipping to change at line 83 |
| #ifndef __IMFTrackedSample_FWD_DEFINED__ | | #ifndef __IMFTrackedSample_FWD_DEFINED__ |
| #define __IMFTrackedSample_FWD_DEFINED__ | | #define __IMFTrackedSample_FWD_DEFINED__ |
| typedef interface IMFTrackedSample IMFTrackedSample; | | typedef interface IMFTrackedSample IMFTrackedSample; |
| #endif /* __IMFTrackedSample_FWD_DEFINED__ */ | | #endif /* __IMFTrackedSample_FWD_DEFINED__ */ |
| | |
| #ifndef __IMFVideoMixerControl_FWD_DEFINED__ | | #ifndef __IMFVideoMixerControl_FWD_DEFINED__ |
| #define __IMFVideoMixerControl_FWD_DEFINED__ | | #define __IMFVideoMixerControl_FWD_DEFINED__ |
| typedef interface IMFVideoMixerControl IMFVideoMixerControl; | | typedef interface IMFVideoMixerControl IMFVideoMixerControl; |
| #endif /* __IMFVideoMixerControl_FWD_DEFINED__ */ | | #endif /* __IMFVideoMixerControl_FWD_DEFINED__ */ |
| | |
|
| | #ifndef __IMFVideoMixerControl2_FWD_DEFINED__ |
| | #define __IMFVideoMixerControl2_FWD_DEFINED__ |
| | typedef interface IMFVideoMixerControl2 IMFVideoMixerControl2; |
| | #endif /* __IMFVideoMixerControl2_FWD_DEFINED__ */ |
| | |
| #ifndef __IMFVideoRenderer_FWD_DEFINED__ | | #ifndef __IMFVideoRenderer_FWD_DEFINED__ |
| #define __IMFVideoRenderer_FWD_DEFINED__ | | #define __IMFVideoRenderer_FWD_DEFINED__ |
| typedef interface IMFVideoRenderer IMFVideoRenderer; | | typedef interface IMFVideoRenderer IMFVideoRenderer; |
| #endif /* __IMFVideoRenderer_FWD_DEFINED__ */ | | #endif /* __IMFVideoRenderer_FWD_DEFINED__ */ |
| | |
| #ifndef __IEVRFilterConfig_FWD_DEFINED__ | | #ifndef __IEVRFilterConfig_FWD_DEFINED__ |
| #define __IEVRFilterConfig_FWD_DEFINED__ | | #define __IEVRFilterConfig_FWD_DEFINED__ |
| typedef interface IEVRFilterConfig IEVRFilterConfig; | | typedef interface IEVRFilterConfig IEVRFilterConfig; |
| #endif /* __IEVRFilterConfig_FWD_DEFINED__ */ | | #endif /* __IEVRFilterConfig_FWD_DEFINED__ */ |
| | |
|
| | #ifndef __IEVRFilterConfigEx_FWD_DEFINED__ |
| | #define __IEVRFilterConfigEx_FWD_DEFINED__ |
| | typedef interface IEVRFilterConfigEx IEVRFilterConfigEx; |
| | #endif /* __IEVRFilterConfigEx_FWD_DEFINED__ */ |
| | |
| #ifndef __IMFTopologyServiceLookup_FWD_DEFINED__ | | #ifndef __IMFTopologyServiceLookup_FWD_DEFINED__ |
| #define __IMFTopologyServiceLookup_FWD_DEFINED__ | | #define __IMFTopologyServiceLookup_FWD_DEFINED__ |
| typedef interface IMFTopologyServiceLookup IMFTopologyServiceLookup; | | typedef interface IMFTopologyServiceLookup IMFTopologyServiceLookup; |
| #endif /* __IMFTopologyServiceLookup_FWD_DEFINED__ */ | | #endif /* __IMFTopologyServiceLookup_FWD_DEFINED__ */ |
| | |
| #ifndef __IMFTopologyServiceLookupClient_FWD_DEFINED__ | | #ifndef __IMFTopologyServiceLookupClient_FWD_DEFINED__ |
| #define __IMFTopologyServiceLookupClient_FWD_DEFINED__ | | #define __IMFTopologyServiceLookupClient_FWD_DEFINED__ |
| typedef interface IMFTopologyServiceLookupClient IMFTopologyServiceLookupClient; | | typedef interface IMFTopologyServiceLookupClient IMFTopologyServiceLookupClient; |
| #endif /* __IMFTopologyServiceLookupClient_FWD_DEFINED__ */ | | #endif /* __IMFTopologyServiceLookupClient_FWD_DEFINED__ */ |
| | |
| #ifndef __IEVRTrustedVideoPlugin_FWD_DEFINED__ | | #ifndef __IEVRTrustedVideoPlugin_FWD_DEFINED__ |
| #define __IEVRTrustedVideoPlugin_FWD_DEFINED__ | | #define __IEVRTrustedVideoPlugin_FWD_DEFINED__ |
| typedef interface IEVRTrustedVideoPlugin IEVRTrustedVideoPlugin; | | typedef interface IEVRTrustedVideoPlugin IEVRTrustedVideoPlugin; |
| #endif /* __IEVRTrustedVideoPlugin_FWD_DEFINED__ */ | | #endif /* __IEVRTrustedVideoPlugin_FWD_DEFINED__ */ |
| | |
| /* header files for imported files */ | | /* header files for imported files */ |
| #include "unknwn.h" | | #include "unknwn.h" |
| #include "propidl.h" | | #include "propidl.h" |
| #include "mfidl.h" | | #include "mfidl.h" |
|
| #include "mftransform.h" | | |
| #include "strmif.h" | | #include "strmif.h" |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| extern "C"{ | | extern "C"{ |
| #endif | | #endif |
| | |
| /* interface __MIDL_itf_evr_0000_0000 */ | | /* interface __MIDL_itf_evr_0000_0000 */ |
| /* [local] */ | | /* [local] */ |
| | |
| #if defined(__midl) | | #if defined(__midl) |
| | |
| skipping to change at line 218 | | skipping to change at line 227 |
| | |
| MIDL_INTERFACE("1F6A9F17-E70B-4e24-8AE4-0B2C3BA7A4AE") | | MIDL_INTERFACE("1F6A9F17-E70B-4e24-8AE4-0B2C3BA7A4AE") |
| IMFVideoPositionMapper : public IUnknown | | IMFVideoPositionMapper : public IUnknown |
| { | | { |
| public: | | public: |
| virtual HRESULT STDMETHODCALLTYPE MapOutputCoordinateToInputStream( | | virtual HRESULT STDMETHODCALLTYPE MapOutputCoordinateToInputStream( |
| /* [in] */ float xOut, | | /* [in] */ float xOut, |
| /* [in] */ float yOut, | | /* [in] */ float yOut, |
| /* [in] */ DWORD dwOutputStreamIndex, | | /* [in] */ DWORD dwOutputStreamIndex, |
| /* [in] */ DWORD dwInputStreamIndex, | | /* [in] */ DWORD dwInputStreamIndex, |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out float *pxIn, | | __out float *pxIn, |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out float *pyIn) = 0; | | __out float *pyIn) = 0; |
| | |
| }; | | }; |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IMFVideoPositionMapperVtbl | | typedef struct IMFVideoPositionMapperVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| IMFVideoPositionMapper * This, | | IMFVideoPositionMapper * This, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| IMFVideoPositionMapper * This); | | IMFVideoPositionMapper * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
| IMFVideoPositionMapper * This); | | IMFVideoPositionMapper * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *MapOutputCoordinateToInputStream )( | | HRESULT ( STDMETHODCALLTYPE *MapOutputCoordinateToInputStream )( |
| IMFVideoPositionMapper * This, | | IMFVideoPositionMapper * This, |
| /* [in] */ float xOut, | | /* [in] */ float xOut, |
| /* [in] */ float yOut, | | /* [in] */ float yOut, |
| /* [in] */ DWORD dwOutputStreamIndex, | | /* [in] */ DWORD dwOutputStreamIndex, |
| /* [in] */ DWORD dwInputStreamIndex, | | /* [in] */ DWORD dwInputStreamIndex, |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out float *pxIn, | | __out float *pxIn, |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out float *pyIn); | | __out float *pyIn); |
| | |
| END_INTERFACE | | END_INTERFACE |
| } IMFVideoPositionMapperVtbl; | | } IMFVideoPositionMapperVtbl; |
| | |
| interface IMFVideoPositionMapper | | interface IMFVideoPositionMapper |
| { | | { |
| CONST_VTBL struct IMFVideoPositionMapperVtbl *lpVtbl; | | CONST_VTBL struct IMFVideoPositionMapperVtbl *lpVtbl; |
| }; | | }; |
| | |
| | |
| skipping to change at line 297 | | skipping to change at line 306 |
| | |
| EXTERN_C const IID IID_IMFVideoDeviceID; | | EXTERN_C const IID IID_IMFVideoDeviceID; |
| | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | | #if defined(__cplusplus) && !defined(CINTERFACE) |
| | |
| MIDL_INTERFACE("A38D9567-5A9C-4f3c-B293-8EB415B279BA") | | MIDL_INTERFACE("A38D9567-5A9C-4f3c-B293-8EB415B279BA") |
| IMFVideoDeviceID : public IUnknown | | IMFVideoDeviceID : public IUnknown |
| { | | { |
| public: | | public: |
| virtual HRESULT STDMETHODCALLTYPE GetDeviceID( | | virtual HRESULT STDMETHODCALLTYPE GetDeviceID( |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out IID *pDeviceID) = 0; | | __out IID *pDeviceID) = 0; |
| | |
| }; | | }; |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IMFVideoDeviceIDVtbl | | typedef struct IMFVideoDeviceIDVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| IMFVideoDeviceID * This, | | IMFVideoDeviceID * This, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| IMFVideoDeviceID * This); | | IMFVideoDeviceID * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
| IMFVideoDeviceID * This); | | IMFVideoDeviceID * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( | | HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( |
| IMFVideoDeviceID * This, | | IMFVideoDeviceID * This, |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out IID *pDeviceID); | | __out IID *pDeviceID); |
| | |
| END_INTERFACE | | END_INTERFACE |
| } IMFVideoDeviceIDVtbl; | | } IMFVideoDeviceIDVtbl; |
| | |
| interface IMFVideoDeviceID | | interface IMFVideoDeviceID |
| { | | { |
| CONST_VTBL struct IMFVideoDeviceIDVtbl *lpVtbl; | | CONST_VTBL struct IMFVideoDeviceIDVtbl *lpVtbl; |
| }; | | }; |
| | |
| | |
| skipping to change at line 356 | | skipping to change at line 365 |
| | |
| #endif /* COBJMACROS */ | | #endif /* COBJMACROS */ |
| | |
| #endif /* C style interface */ | | #endif /* C style interface */ |
| | |
| #endif /* __IMFVideoDeviceID_INTERFACE_DEFINED__ */ | | #endif /* __IMFVideoDeviceID_INTERFACE_DEFINED__ */ |
| | |
| /* interface __MIDL_itf_evr_0000_0002 */ | | /* interface __MIDL_itf_evr_0000_0002 */ |
| /* [local] */ | | /* [local] */ |
| | |
|
| typedef /* [public] */ | | typedef |
| enum __MIDL___MIDL_itf_evr_0000_0002_0001 | | enum MFVideoAspectRatioMode |
| { MFVideoARMode_None = 0, | | { MFVideoARMode_None = 0, |
| MFVideoARMode_PreservePicture = 0x1, | | MFVideoARMode_PreservePicture = 0x1, |
| MFVideoARMode_PreservePixel = 0x2, | | MFVideoARMode_PreservePixel = 0x2, |
| MFVideoARMode_NonLinearStretch = 0x4, | | MFVideoARMode_NonLinearStretch = 0x4, |
| MFVideoARMode_Mask = 0x7 | | MFVideoARMode_Mask = 0x7 |
| } MFVideoAspectRatioMode; | | } MFVideoAspectRatioMode; |
| | |
|
| typedef /* [public] */ | | typedef |
| enum __MIDL___MIDL_itf_evr_0000_0002_0002 | | enum MFVideoRenderPrefs |
| { MFVideoRenderPrefs_DoNotRenderBorder = 0x1, | | { MFVideoRenderPrefs_DoNotRenderBorder = 0x1, |
| MFVideoRenderPrefs_DoNotClipToDevice = 0x2, | | MFVideoRenderPrefs_DoNotClipToDevice = 0x2, |
|
| MFVideoRenderPrefs_Mask = 0x3 | | MFVideoRenderPrefs_AllowOutputThrottling = 0x4, |
| | MFVideoRenderPrefs_ForceOutputThrottling = 0x8, |
| | MFVideoRenderPrefs_ForceBatching = 0x10, |
| | MFVideoRenderPrefs_AllowBatching = 0x20, |
| | MFVideoRenderPrefs_ForceScaling = 0x40, |
| | MFVideoRenderPrefs_AllowScaling = 0x80, |
| | MFVideoRenderPrefs_DoNotRepaintOnStop = 0x100, |
| | MFVideoRenderPrefs_Mask = 0x1ff |
| } MFVideoRenderPrefs; | | } MFVideoRenderPrefs; |
| | |
| typedef struct MFVideoNormalizedRect | | typedef struct MFVideoNormalizedRect |
| { | | { |
| float left; | | float left; |
| float top; | | float top; |
| float right; | | float right; |
| float bottom; | | float bottom; |
| } MFVideoNormalizedRect; | | } MFVideoNormalizedRect; |
| | |
| | |
| skipping to change at line 460 | | skipping to change at line 476 |
| | |
| }; | | }; |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IMFVideoDisplayControlVtbl | | typedef struct IMFVideoDisplayControlVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [in] */ __RPC__in REFIID riid, | | /* [in] */ __RPC__in REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
|
| IMFVideoDisplayControl * This); | | __RPC__in IMFVideoDisplayControl * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
|
| IMFVideoDisplayControl * This); | | __RPC__in IMFVideoDisplayControl * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )( | | HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [unique][out][in] */ __RPC__inout_opt SIZE *pszVideo, | | /* [unique][out][in] */ __RPC__inout_opt SIZE *pszVideo, |
| /* [unique][out][in] */ __RPC__inout_opt SIZE *pszARVideo); | | /* [unique][out][in] */ __RPC__inout_opt SIZE *pszARVideo); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetIdealVideoSize )( | | HRESULT ( STDMETHODCALLTYPE *GetIdealVideoSize )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [unique][out][in] */ __RPC__inout_opt SIZE *pszMin, | | /* [unique][out][in] */ __RPC__inout_opt SIZE *pszMin, |
| /* [unique][out][in] */ __RPC__inout_opt SIZE *pszMax); | | /* [unique][out][in] */ __RPC__inout_opt SIZE *pszMax); |
| | |
| HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )( | | HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [unique][in] */ __RPC__in_opt const MFVideoNormalizedRect *pnrcSo
urce, | | /* [unique][in] */ __RPC__in_opt const MFVideoNormalizedRect *pnrcSo
urce, |
| /* [unique][in] */ __RPC__in_opt const LPRECT prcDest); | | /* [unique][in] */ __RPC__in_opt const LPRECT prcDest); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( | | HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [out] */ __RPC__out MFVideoNormalizedRect *pnrcSource, | | /* [out] */ __RPC__out MFVideoNormalizedRect *pnrcSource, |
| /* [out] */ __RPC__out LPRECT prcDest); | | /* [out] */ __RPC__out LPRECT prcDest); |
| | |
| HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( | | HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [in] */ DWORD dwAspectRatioMode); | | /* [in] */ DWORD dwAspectRatioMode); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( | | HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [out] */ __RPC__out DWORD *pdwAspectRatioMode); | | /* [out] */ __RPC__out DWORD *pdwAspectRatioMode); |
| | |
| HRESULT ( STDMETHODCALLTYPE *SetVideoWindow )( | | HRESULT ( STDMETHODCALLTYPE *SetVideoWindow )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [in] */ __RPC__in HWND hwndVideo); | | /* [in] */ __RPC__in HWND hwndVideo); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetVideoWindow )( | | HRESULT ( STDMETHODCALLTYPE *GetVideoWindow )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [out] */ __RPC__deref_out_opt HWND *phwndVideo); | | /* [out] */ __RPC__deref_out_opt HWND *phwndVideo); |
| | |
| HRESULT ( STDMETHODCALLTYPE *RepaintVideo )( | | HRESULT ( STDMETHODCALLTYPE *RepaintVideo )( |
|
| IMFVideoDisplayControl * This); | | __RPC__in IMFVideoDisplayControl * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( | | HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [out][in] */ __RPC__inout BITMAPINFOHEADER *pBih, | | /* [out][in] */ __RPC__inout BITMAPINFOHEADER *pBih, |
| /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbD
ib) BYTE **pDib, | | /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbD
ib) BYTE **pDib, |
| /* [out] */ __RPC__out DWORD *pcbDib, | | /* [out] */ __RPC__out DWORD *pcbDib, |
| /* [unique][out][in] */ __RPC__inout_opt LONGLONG *pTimeStamp); | | /* [unique][out][in] */ __RPC__inout_opt LONGLONG *pTimeStamp); |
| | |
| HRESULT ( STDMETHODCALLTYPE *SetBorderColor )( | | HRESULT ( STDMETHODCALLTYPE *SetBorderColor )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [in] */ COLORREF Clr); | | /* [in] */ COLORREF Clr); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetBorderColor )( | | HRESULT ( STDMETHODCALLTYPE *GetBorderColor )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [out] */ __RPC__out COLORREF *pClr); | | /* [out] */ __RPC__out COLORREF *pClr); |
| | |
| HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( | | HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [in] */ DWORD dwRenderFlags); | | /* [in] */ DWORD dwRenderFlags); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( | | HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [out] */ __RPC__out DWORD *pdwRenderFlags); | | /* [out] */ __RPC__out DWORD *pdwRenderFlags); |
| | |
| HRESULT ( STDMETHODCALLTYPE *SetFullscreen )( | | HRESULT ( STDMETHODCALLTYPE *SetFullscreen )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [in] */ BOOL fFullscreen); | | /* [in] */ BOOL fFullscreen); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetFullscreen )( | | HRESULT ( STDMETHODCALLTYPE *GetFullscreen )( |
|
| IMFVideoDisplayControl * This, | | __RPC__in IMFVideoDisplayControl * This, |
| /* [out] */ __RPC__out BOOL *pfFullscreen); | | /* [out] */ __RPC__out BOOL *pfFullscreen); |
| | |
| END_INTERFACE | | END_INTERFACE |
| } IMFVideoDisplayControlVtbl; | | } IMFVideoDisplayControlVtbl; |
| | |
| interface IMFVideoDisplayControl | | interface IMFVideoDisplayControl |
| { | | { |
| CONST_VTBL struct IMFVideoDisplayControlVtbl *lpVtbl; | | CONST_VTBL struct IMFVideoDisplayControlVtbl *lpVtbl; |
| }; | | }; |
| | |
| | |
| skipping to change at line 617 | | skipping to change at line 633 |
| | |
| #endif /* COBJMACROS */ | | #endif /* COBJMACROS */ |
| | |
| #endif /* C style interface */ | | #endif /* C style interface */ |
| | |
| #endif /* __IMFVideoDisplayControl_INTERFACE_DEFINED__ */ | | #endif /* __IMFVideoDisplayControl_INTERFACE_DEFINED__ */ |
| | |
| /* interface __MIDL_itf_evr_0000_0003 */ | | /* interface __MIDL_itf_evr_0000_0003 */ |
| /* [local] */ | | /* [local] */ |
| | |
|
| typedef /* [public][public] */ | | typedef |
| enum __MIDL___MIDL_itf_evr_0000_0003_0001 | | enum MFVP_MESSAGE_TYPE |
| { MFVP_MESSAGE_FLUSH = 0, | | { MFVP_MESSAGE_FLUSH = 0, |
| MFVP_MESSAGE_INVALIDATEMEDIATYPE = 0x1, | | MFVP_MESSAGE_INVALIDATEMEDIATYPE = 0x1, |
| MFVP_MESSAGE_PROCESSINPUTNOTIFY = 0x2, | | MFVP_MESSAGE_PROCESSINPUTNOTIFY = 0x2, |
| MFVP_MESSAGE_BEGINSTREAMING = 0x3, | | MFVP_MESSAGE_BEGINSTREAMING = 0x3, |
| MFVP_MESSAGE_ENDSTREAMING = 0x4, | | MFVP_MESSAGE_ENDSTREAMING = 0x4, |
| MFVP_MESSAGE_ENDOFSTREAM = 0x5, | | MFVP_MESSAGE_ENDOFSTREAM = 0x5, |
| MFVP_MESSAGE_STEP = 0x6, | | MFVP_MESSAGE_STEP = 0x6, |
| MFVP_MESSAGE_CANCELSTEP = 0x7 | | MFVP_MESSAGE_CANCELSTEP = 0x7 |
| } MFVP_MESSAGE_TYPE; | | } MFVP_MESSAGE_TYPE; |
| | |
| | |
| skipping to change at line 651 | | skipping to change at line 667 |
| | |
| MIDL_INTERFACE("29AFF080-182A-4a5d-AF3B-448F3A6346CB") | | MIDL_INTERFACE("29AFF080-182A-4a5d-AF3B-448F3A6346CB") |
| IMFVideoPresenter : public IMFClockStateSink | | IMFVideoPresenter : public IMFClockStateSink |
| { | | { |
| public: | | public: |
| virtual HRESULT STDMETHODCALLTYPE ProcessMessage( | | virtual HRESULT STDMETHODCALLTYPE ProcessMessage( |
| MFVP_MESSAGE_TYPE eMessage, | | MFVP_MESSAGE_TYPE eMessage, |
| ULONG_PTR ulParam) = 0; | | ULONG_PTR ulParam) = 0; |
| | |
| virtual HRESULT STDMETHODCALLTYPE GetCurrentMediaType( | | virtual HRESULT STDMETHODCALLTYPE GetCurrentMediaType( |
|
| /* [out] */ | | /* [annotation][out] */ |
| __deref_out IMFVideoMediaType **ppMediaType) = 0; | | __deref_out IMFVideoMediaType **ppMediaType) = 0; |
| | |
| }; | | }; |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IMFVideoPresenterVtbl | | typedef struct IMFVideoPresenterVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| IMFVideoPresenter * This, | | IMFVideoPresenter * This, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| IMFVideoPresenter * This); | | IMFVideoPresenter * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
| IMFVideoPresenter * This); | | IMFVideoPresenter * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *OnClockStart )( | | HRESULT ( STDMETHODCALLTYPE *OnClockStart )( |
| IMFVideoPresenter * This, | | IMFVideoPresenter * This, |
| | |
| skipping to change at line 703 | | skipping to change at line 719 |
| /* [in] */ MFTIME hnsSystemTime, | | /* [in] */ MFTIME hnsSystemTime, |
| /* [in] */ float flRate); | | /* [in] */ float flRate); |
| | |
| HRESULT ( STDMETHODCALLTYPE *ProcessMessage )( | | HRESULT ( STDMETHODCALLTYPE *ProcessMessage )( |
| IMFVideoPresenter * This, | | IMFVideoPresenter * This, |
| MFVP_MESSAGE_TYPE eMessage, | | MFVP_MESSAGE_TYPE eMessage, |
| ULONG_PTR ulParam); | | ULONG_PTR ulParam); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetCurrentMediaType )( | | HRESULT ( STDMETHODCALLTYPE *GetCurrentMediaType )( |
| IMFVideoPresenter * This, | | IMFVideoPresenter * This, |
|
| /* [out] */ | | /* [annotation][out] */ |
| __deref_out IMFVideoMediaType **ppMediaType); | | __deref_out IMFVideoMediaType **ppMediaType); |
| | |
| END_INTERFACE | | END_INTERFACE |
| } IMFVideoPresenterVtbl; | | } IMFVideoPresenterVtbl; |
| | |
| interface IMFVideoPresenter | | interface IMFVideoPresenter |
| { | | { |
| CONST_VTBL struct IMFVideoPresenterVtbl *lpVtbl; | | CONST_VTBL struct IMFVideoPresenterVtbl *lpVtbl; |
| }; | | }; |
| | |
| | |
| skipping to change at line 767 | | skipping to change at line 783 |
| | |
| EXTERN_C const IID IID_IMFDesiredSample; | | EXTERN_C const IID IID_IMFDesiredSample; |
| | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | | #if defined(__cplusplus) && !defined(CINTERFACE) |
| | |
| MIDL_INTERFACE("56C294D0-753E-4260-8D61-A3D8820B1D54") | | MIDL_INTERFACE("56C294D0-753E-4260-8D61-A3D8820B1D54") |
| IMFDesiredSample : public IUnknown | | IMFDesiredSample : public IUnknown |
| { | | { |
| public: | | public: |
| virtual HRESULT STDMETHODCALLTYPE GetDesiredSampleTimeAndDuration( | | virtual HRESULT STDMETHODCALLTYPE GetDesiredSampleTimeAndDuration( |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out LONGLONG *phnsSampleTime, | | __out LONGLONG *phnsSampleTime, |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out LONGLONG *phnsSampleDuration) = 0; | | __out LONGLONG *phnsSampleDuration) = 0; |
| | |
| virtual void STDMETHODCALLTYPE SetDesiredSampleTimeAndDuration( | | virtual void STDMETHODCALLTYPE SetDesiredSampleTimeAndDuration( |
| /* [in] */ LONGLONG hnsSampleTime, | | /* [in] */ LONGLONG hnsSampleTime, |
| /* [in] */ LONGLONG hnsSampleDuration) = 0; | | /* [in] */ LONGLONG hnsSampleDuration) = 0; |
| | |
| virtual void STDMETHODCALLTYPE Clear( void) = 0; | | virtual void STDMETHODCALLTYPE Clear( void) = 0; |
| | |
| }; | | }; |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IMFDesiredSampleVtbl | | typedef struct IMFDesiredSampleVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| IMFDesiredSample * This, | | IMFDesiredSample * This, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| IMFDesiredSample * This); | | IMFDesiredSample * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
| IMFDesiredSample * This); | | IMFDesiredSample * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetDesiredSampleTimeAndDuration )( | | HRESULT ( STDMETHODCALLTYPE *GetDesiredSampleTimeAndDuration )( |
| IMFDesiredSample * This, | | IMFDesiredSample * This, |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out LONGLONG *phnsSampleTime, | | __out LONGLONG *phnsSampleTime, |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out LONGLONG *phnsSampleDuration); | | __out LONGLONG *phnsSampleDuration); |
| | |
| void ( STDMETHODCALLTYPE *SetDesiredSampleTimeAndDuration )( | | void ( STDMETHODCALLTYPE *SetDesiredSampleTimeAndDuration )( |
| IMFDesiredSample * This, | | IMFDesiredSample * This, |
| /* [in] */ LONGLONG hnsSampleTime, | | /* [in] */ LONGLONG hnsSampleTime, |
| /* [in] */ LONGLONG hnsSampleDuration); | | /* [in] */ LONGLONG hnsSampleDuration); |
| | |
| void ( STDMETHODCALLTYPE *Clear )( | | void ( STDMETHODCALLTYPE *Clear )( |
| IMFDesiredSample * This); | | IMFDesiredSample * This); |
| | |
| | |
| skipping to change at line 862 | | skipping to change at line 878 |
| | |
| EXTERN_C const IID IID_IMFTrackedSample; | | EXTERN_C const IID IID_IMFTrackedSample; |
| | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | | #if defined(__cplusplus) && !defined(CINTERFACE) |
| | |
| MIDL_INTERFACE("245BF8E9-0755-40f7-88A5-AE0F18D55E17") | | MIDL_INTERFACE("245BF8E9-0755-40f7-88A5-AE0F18D55E17") |
| IMFTrackedSample : public IUnknown | | IMFTrackedSample : public IUnknown |
| { | | { |
| public: | | public: |
| virtual HRESULT STDMETHODCALLTYPE SetAllocator( | | virtual HRESULT STDMETHODCALLTYPE SetAllocator( |
|
| /* [in] */ | | /* [annotation][in] */ |
| __in IMFAsyncCallback *pSampleAllocator, | | __in IMFAsyncCallback *pSampleAllocator, |
| /* [unique][in] */ IUnknown *pUnkState) = 0; | | /* [unique][in] */ IUnknown *pUnkState) = 0; |
| | |
| }; | | }; |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IMFTrackedSampleVtbl | | typedef struct IMFTrackedSampleVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| IMFTrackedSample * This, | | IMFTrackedSample * This, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| IMFTrackedSample * This); | | IMFTrackedSample * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
| IMFTrackedSample * This); | | IMFTrackedSample * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *SetAllocator )( | | HRESULT ( STDMETHODCALLTYPE *SetAllocator )( |
| IMFTrackedSample * This, | | IMFTrackedSample * This, |
|
| /* [in] */ | | /* [annotation][in] */ |
| __in IMFAsyncCallback *pSampleAllocator, | | __in IMFAsyncCallback *pSampleAllocator, |
| /* [unique][in] */ IUnknown *pUnkState); | | /* [unique][in] */ IUnknown *pUnkState); |
| | |
| END_INTERFACE | | END_INTERFACE |
| } IMFTrackedSampleVtbl; | | } IMFTrackedSampleVtbl; |
| | |
| interface IMFTrackedSample | | interface IMFTrackedSample |
| { | | { |
| CONST_VTBL struct IMFTrackedSampleVtbl *lpVtbl; | | CONST_VTBL struct IMFTrackedSampleVtbl *lpVtbl; |
| }; | | }; |
| | |
| skipping to change at line 959 | | skipping to change at line 975 |
| | |
| }; | | }; |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IMFVideoMixerControlVtbl | | typedef struct IMFVideoMixerControlVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
|
| IMFVideoMixerControl * This, | | __RPC__in IMFVideoMixerControl * This, |
| /* [in] */ __RPC__in REFIID riid, | | /* [in] */ __RPC__in REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
|
| IMFVideoMixerControl * This); | | __RPC__in IMFVideoMixerControl * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
|
| IMFVideoMixerControl * This); | | __RPC__in IMFVideoMixerControl * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *SetStreamZOrder )( | | HRESULT ( STDMETHODCALLTYPE *SetStreamZOrder )( |
|
| IMFVideoMixerControl * This, | | __RPC__in IMFVideoMixerControl * This, |
| /* [in] */ DWORD dwStreamID, | | /* [in] */ DWORD dwStreamID, |
| /* [in] */ DWORD dwZ); | | /* [in] */ DWORD dwZ); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetStreamZOrder )( | | HRESULT ( STDMETHODCALLTYPE *GetStreamZOrder )( |
|
| IMFVideoMixerControl * This, | | __RPC__in IMFVideoMixerControl * This, |
| /* [in] */ DWORD dwStreamID, | | /* [in] */ DWORD dwStreamID, |
| /* [out] */ __RPC__out DWORD *pdwZ); | | /* [out] */ __RPC__out DWORD *pdwZ); |
| | |
| HRESULT ( STDMETHODCALLTYPE *SetStreamOutputRect )( | | HRESULT ( STDMETHODCALLTYPE *SetStreamOutputRect )( |
|
| IMFVideoMixerControl * This, | | __RPC__in IMFVideoMixerControl * This, |
| /* [in] */ DWORD dwStreamID, | | /* [in] */ DWORD dwStreamID, |
| /* [in] */ __RPC__in const MFVideoNormalizedRect *pnrcOutput); | | /* [in] */ __RPC__in const MFVideoNormalizedRect *pnrcOutput); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetStreamOutputRect )( | | HRESULT ( STDMETHODCALLTYPE *GetStreamOutputRect )( |
|
| IMFVideoMixerControl * This, | | __RPC__in IMFVideoMixerControl * This, |
| /* [in] */ DWORD dwStreamID, | | /* [in] */ DWORD dwStreamID, |
| /* [out] */ __RPC__out MFVideoNormalizedRect *pnrcOutput); | | /* [out] */ __RPC__out MFVideoNormalizedRect *pnrcOutput); |
| | |
| END_INTERFACE | | END_INTERFACE |
| } IMFVideoMixerControlVtbl; | | } IMFVideoMixerControlVtbl; |
| | |
| interface IMFVideoMixerControl | | interface IMFVideoMixerControl |
| { | | { |
| CONST_VTBL struct IMFVideoMixerControlVtbl *lpVtbl; | | CONST_VTBL struct IMFVideoMixerControlVtbl *lpVtbl; |
| }; | | }; |
| | |
| skipping to change at line 1027 | | skipping to change at line 1043 |
| | |
| #define IMFVideoMixerControl_GetStreamOutputRect(This,dwStreamID,pnrcOutput) \ | | #define IMFVideoMixerControl_GetStreamOutputRect(This,dwStreamID,pnrcOutput) \ |
| ( (This)->lpVtbl -> GetStreamOutputRect(This,dwStreamID,pnrcOutput) ) | | ( (This)->lpVtbl -> GetStreamOutputRect(This,dwStreamID,pnrcOutput) ) |
| | |
| #endif /* COBJMACROS */ | | #endif /* COBJMACROS */ |
| | |
| #endif /* C style interface */ | | #endif /* C style interface */ |
| | |
| #endif /* __IMFVideoMixerControl_INTERFACE_DEFINED__ */ | | #endif /* __IMFVideoMixerControl_INTERFACE_DEFINED__ */ |
| | |
|
| | /* interface __MIDL_itf_evr_0000_0007 */ |
| | /* [local] */ |
| | |
| | typedef |
| | enum _MFVideoMixPrefs |
| | { MFVideoMixPrefs_ForceHalfInterlace = 0x1, |
| | MFVideoMixPrefs_AllowDropToHalfInterlace = 0x2, |
| | MFVideoMixPrefs_AllowDropToBob = 0x4, |
| | MFVideoMixPrefs_ForceBob = 0x8, |
| | MFVideoMixPrefs_Mask = 0xf |
| | } MFVideoMixPrefs; |
| | |
| | extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0007_v0_0_c_ifspec; |
| | extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0007_v0_0_s_ifspec; |
| | |
| | #ifndef __IMFVideoMixerControl2_INTERFACE_DEFINED__ |
| | #define __IMFVideoMixerControl2_INTERFACE_DEFINED__ |
| | |
| | /* interface IMFVideoMixerControl2 */ |
| | /* [helpstring][uuid][object] */ |
| | |
| | EXTERN_C const IID IID_IMFVideoMixerControl2; |
| | |
| | #if defined(__cplusplus) && !defined(CINTERFACE) |
| | |
| | MIDL_INTERFACE("8459616d-966e-4930-b658-54fa7e5a16d3") |
| | IMFVideoMixerControl2 : public IMFVideoMixerControl |
| | { |
| | public: |
| | virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( |
| | /* [in] */ DWORD dwMixFlags) = 0; |
| | |
| | virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( |
| | /* [out] */ __RPC__out DWORD *pdwMixFlags) = 0; |
| | |
| | }; |
| | |
| | #else /* C style interface */ |
| | |
| | typedef struct IMFVideoMixerControl2Vtbl |
| | { |
| | BEGIN_INTERFACE |
| | |
| | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| | __RPC__in IMFVideoMixerControl2 * This, |
| | /* [in] */ __RPC__in REFIID riid, |
| | /* [annotation][iid_is][out] */ |
| | __RPC__deref_out void **ppvObject); |
| | |
| | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| | __RPC__in IMFVideoMixerControl2 * This); |
| | |
| | ULONG ( STDMETHODCALLTYPE *Release )( |
| | __RPC__in IMFVideoMixerControl2 * This); |
| | |
| | HRESULT ( STDMETHODCALLTYPE *SetStreamZOrder )( |
| | __RPC__in IMFVideoMixerControl2 * This, |
| | /* [in] */ DWORD dwStreamID, |
| | /* [in] */ DWORD dwZ); |
| | |
| | HRESULT ( STDMETHODCALLTYPE *GetStreamZOrder )( |
| | __RPC__in IMFVideoMixerControl2 * This, |
| | /* [in] */ DWORD dwStreamID, |
| | /* [out] */ __RPC__out DWORD *pdwZ); |
| | |
| | HRESULT ( STDMETHODCALLTYPE *SetStreamOutputRect )( |
| | __RPC__in IMFVideoMixerControl2 * This, |
| | /* [in] */ DWORD dwStreamID, |
| | /* [in] */ __RPC__in const MFVideoNormalizedRect *pnrcOutput); |
| | |
| | HRESULT ( STDMETHODCALLTYPE *GetStreamOutputRect )( |
| | __RPC__in IMFVideoMixerControl2 * This, |
| | /* [in] */ DWORD dwStreamID, |
| | /* [out] */ __RPC__out MFVideoNormalizedRect *pnrcOutput); |
| | |
| | HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )( |
| | __RPC__in IMFVideoMixerControl2 * This, |
| | /* [in] */ DWORD dwMixFlags); |
| | |
| | HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )( |
| | __RPC__in IMFVideoMixerControl2 * This, |
| | /* [out] */ __RPC__out DWORD *pdwMixFlags); |
| | |
| | END_INTERFACE |
| | } IMFVideoMixerControl2Vtbl; |
| | |
| | interface IMFVideoMixerControl2 |
| | { |
| | CONST_VTBL struct IMFVideoMixerControl2Vtbl *lpVtbl; |
| | }; |
| | |
| | #ifdef COBJMACROS |
| | |
| | #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) ) |
| | |
| | #define IMFVideoMixerControl2_SetStreamZOrder(This,dwStreamID,dwZ) \ |
| | ( (This)->lpVtbl -> SetStreamZOrder(This,dwStreamID,dwZ) ) |
| | |
| | #define IMFVideoMixerControl2_GetStreamZOrder(This,dwStreamID,pdwZ) \ |
| | ( (This)->lpVtbl -> GetStreamZOrder(This,dwStreamID,pdwZ) ) |
| | |
| | #define IMFVideoMixerControl2_SetStreamOutputRect(This,dwStreamID,pnrcOutput) \ |
| | ( (This)->lpVtbl -> SetStreamOutputRect(This,dwStreamID,pnrcOutput) ) |
| | |
| | #define IMFVideoMixerControl2_GetStreamOutputRect(This,dwStreamID,pnrcOutput) \ |
| | ( (This)->lpVtbl -> GetStreamOutputRect(This,dwStreamID,pnrcOutput) ) |
| | |
| | #define IMFVideoMixerControl2_SetMixingPrefs(This,dwMixFlags) \ |
| | ( (This)->lpVtbl -> SetMixingPrefs(This,dwMixFlags) ) |
| | |
| | #define IMFVideoMixerControl2_GetMixingPrefs(This,pdwMixFlags) \ |
| | ( (This)->lpVtbl -> GetMixingPrefs(This,pdwMixFlags) ) |
| | |
| | #endif /* COBJMACROS */ |
| | |
| | #endif /* C style interface */ |
| | |
| | #endif /* __IMFVideoMixerControl2_INTERFACE_DEFINED__ */ |
| | |
| #ifndef __IMFVideoRenderer_INTERFACE_DEFINED__ | | #ifndef __IMFVideoRenderer_INTERFACE_DEFINED__ |
| #define __IMFVideoRenderer_INTERFACE_DEFINED__ | | #define __IMFVideoRenderer_INTERFACE_DEFINED__ |
| | |
| /* interface IMFVideoRenderer */ | | /* interface IMFVideoRenderer */ |
| /* [local][helpstring][uuid][object] */ | | /* [local][helpstring][uuid][object] */ |
| | |
| EXTERN_C const IID IID_IMFVideoRenderer; | | EXTERN_C const IID IID_IMFVideoRenderer; |
| | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | | #if defined(__cplusplus) && !defined(CINTERFACE) |
| | |
| MIDL_INTERFACE("DFDFD197-A9CA-43d8-B341-6AF3503792CD") | | MIDL_INTERFACE("DFDFD197-A9CA-43d8-B341-6AF3503792CD") |
| IMFVideoRenderer : public IUnknown | | IMFVideoRenderer : public IUnknown |
| { | | { |
| public: | | public: |
| virtual HRESULT STDMETHODCALLTYPE InitializeRenderer( | | virtual HRESULT STDMETHODCALLTYPE InitializeRenderer( |
|
| /* [unique][in] */ | | /* [annotation][unique][in] */ |
| __in_opt IMFTransform *pVideoMixer, | | __in_opt IMFTransform *pVideoMixer, |
|
| /* [unique][in] */ | | /* [annotation][unique][in] */ |
| __in_opt IMFVideoPresenter *pVideoPresenter) = 0; | | __in_opt IMFVideoPresenter *pVideoPresenter) = 0; |
| | |
| }; | | }; |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IMFVideoRendererVtbl | | typedef struct IMFVideoRendererVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| IMFVideoRenderer * This, | | IMFVideoRenderer * This, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| IMFVideoRenderer * This); | | IMFVideoRenderer * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
| IMFVideoRenderer * This); | | IMFVideoRenderer * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *InitializeRenderer )( | | HRESULT ( STDMETHODCALLTYPE *InitializeRenderer )( |
| IMFVideoRenderer * This, | | IMFVideoRenderer * This, |
|
| /* [unique][in] */ | | /* [annotation][unique][in] */ |
| __in_opt IMFTransform *pVideoMixer, | | __in_opt IMFTransform *pVideoMixer, |
|
| /* [unique][in] */ | | /* [annotation][unique][in] */ |
| __in_opt IMFVideoPresenter *pVideoPresenter); | | __in_opt IMFVideoPresenter *pVideoPresenter); |
| | |
| END_INTERFACE | | END_INTERFACE |
| } IMFVideoRendererVtbl; | | } IMFVideoRendererVtbl; |
| | |
| interface IMFVideoRenderer | | interface IMFVideoRenderer |
| { | | { |
| CONST_VTBL struct IMFVideoRendererVtbl *lpVtbl; | | CONST_VTBL struct IMFVideoRendererVtbl *lpVtbl; |
| }; | | }; |
| | |
| | |
| skipping to change at line 1120 | | skipping to change at line 1262 |
| #if defined(__cplusplus) && !defined(CINTERFACE) | | #if defined(__cplusplus) && !defined(CINTERFACE) |
| | |
| MIDL_INTERFACE("83E91E85-82C1-4ea7-801D-85DC50B75086") | | MIDL_INTERFACE("83E91E85-82C1-4ea7-801D-85DC50B75086") |
| IEVRFilterConfig : public IUnknown | | IEVRFilterConfig : public IUnknown |
| { | | { |
| public: | | public: |
| virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( | | virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( |
| /* [in] */ DWORD dwMaxStreams) = 0; | | /* [in] */ DWORD dwMaxStreams) = 0; |
| | |
| virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( | | virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out DWORD *pdwMaxStreams) = 0; | | __out DWORD *pdwMaxStreams) = 0; |
| | |
| }; | | }; |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IEVRFilterConfigVtbl | | typedef struct IEVRFilterConfigVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| IEVRFilterConfig * This, | | IEVRFilterConfig * This, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| IEVRFilterConfig * This); | | IEVRFilterConfig * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
| IEVRFilterConfig * This); | | IEVRFilterConfig * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )( | | HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )( |
| IEVRFilterConfig * This, | | IEVRFilterConfig * This, |
| /* [in] */ DWORD dwMaxStreams); | | /* [in] */ DWORD dwMaxStreams); |
| | |
| HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )( | | HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )( |
| IEVRFilterConfig * This, | | IEVRFilterConfig * This, |
|
| /* [out] */ | | /* [annotation][out] */ |
| __out DWORD *pdwMaxStreams); | | __out DWORD *pdwMaxStreams); |
| | |
| END_INTERFACE | | END_INTERFACE |
| } IEVRFilterConfigVtbl; | | } IEVRFilterConfigVtbl; |
| | |
| interface IEVRFilterConfig | | interface IEVRFilterConfig |
| { | | { |
| CONST_VTBL struct IEVRFilterConfigVtbl *lpVtbl; | | CONST_VTBL struct IEVRFilterConfigVtbl *lpVtbl; |
| }; | | }; |
| | |
| | |
| skipping to change at line 1183 | | skipping to change at line 1325 |
| | |
| #define IEVRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) \ | | #define IEVRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) \ |
| ( (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams) ) | | ( (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams) ) |
| | |
| #endif /* COBJMACROS */ | | #endif /* COBJMACROS */ |
| | |
| #endif /* C style interface */ | | #endif /* C style interface */ |
| | |
| #endif /* __IEVRFilterConfig_INTERFACE_DEFINED__ */ | | #endif /* __IEVRFilterConfig_INTERFACE_DEFINED__ */ |
| | |
|
| /* interface __MIDL_itf_evr_0000_0009 */ | | /* interface __MIDL_itf_evr_0000_0010 */ |
| | /* [local] */ |
| | |
| | typedef |
| | enum _EVRFilterConfig_Prefs |
| | { EVRFilterConfigPrefs_EnableQoS = 0x1, |
| | EVRFilterConfigPrefs_Mask = 0x1 |
| | } EVRFilterConfigPrefs; |
| | |
| | extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0010_v0_0_c_ifspec; |
| | extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0010_v0_0_s_ifspec; |
| | |
| | #ifndef __IEVRFilterConfigEx_INTERFACE_DEFINED__ |
| | #define __IEVRFilterConfigEx_INTERFACE_DEFINED__ |
| | |
| | /* interface IEVRFilterConfigEx */ |
| | /* [helpstring][uuid][object] */ |
| | |
| | EXTERN_C const IID IID_IEVRFilterConfigEx; |
| | |
| | #if defined(__cplusplus) && !defined(CINTERFACE) |
| | |
| | MIDL_INTERFACE("aea36028-796d-454f-beee-b48071e24304") |
| | IEVRFilterConfigEx : public IEVRFilterConfig |
| | { |
| | public: |
| | virtual HRESULT STDMETHODCALLTYPE SetConfigPrefs( |
| | /* [in] */ DWORD dwConfigFlags) = 0; |
| | |
| | virtual HRESULT STDMETHODCALLTYPE GetConfigPrefs( |
| | /* [out] */ __RPC__out DWORD *pdwConfigFlags) = 0; |
| | |
| | }; |
| | |
| | #else /* C style interface */ |
| | |
| | typedef struct IEVRFilterConfigExVtbl |
| | { |
| | BEGIN_INTERFACE |
| | |
| | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| | __RPC__in IEVRFilterConfigEx * This, |
| | /* [in] */ __RPC__in REFIID riid, |
| | /* [annotation][iid_is][out] */ |
| | __RPC__deref_out void **ppvObject); |
| | |
| | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| | __RPC__in IEVRFilterConfigEx * This); |
| | |
| | ULONG ( STDMETHODCALLTYPE *Release )( |
| | __RPC__in IEVRFilterConfigEx * This); |
| | |
| | HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )( |
| | __RPC__in IEVRFilterConfigEx * This, |
| | /* [in] */ DWORD dwMaxStreams); |
| | |
| | HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )( |
| | __RPC__in IEVRFilterConfigEx * This, |
| | /* [annotation][out] */ |
| | __out DWORD *pdwMaxStreams); |
| | |
| | HRESULT ( STDMETHODCALLTYPE *SetConfigPrefs )( |
| | __RPC__in IEVRFilterConfigEx * This, |
| | /* [in] */ DWORD dwConfigFlags); |
| | |
| | HRESULT ( STDMETHODCALLTYPE *GetConfigPrefs )( |
| | __RPC__in IEVRFilterConfigEx * This, |
| | /* [out] */ __RPC__out DWORD *pdwConfigFlags); |
| | |
| | END_INTERFACE |
| | } IEVRFilterConfigExVtbl; |
| | |
| | interface IEVRFilterConfigEx |
| | { |
| | CONST_VTBL struct IEVRFilterConfigExVtbl *lpVtbl; |
| | }; |
| | |
| | #ifdef COBJMACROS |
| | |
| | #define IEVRFilterConfigEx_QueryInterface(This,riid,ppvObject) \ |
| | ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) |
| | |
| | #define IEVRFilterConfigEx_AddRef(This) \ |
| | ( (This)->lpVtbl -> AddRef(This) ) |
| | |
| | #define IEVRFilterConfigEx_Release(This) \ |
| | ( (This)->lpVtbl -> Release(This) ) |
| | |
| | #define IEVRFilterConfigEx_SetNumberOfStreams(This,dwMaxStreams) \ |
| | ( (This)->lpVtbl -> SetNumberOfStreams(This,dwMaxStreams) ) |
| | |
| | #define IEVRFilterConfigEx_GetNumberOfStreams(This,pdwMaxStreams) \ |
| | ( (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams) ) |
| | |
| | #define IEVRFilterConfigEx_SetConfigPrefs(This,dwConfigFlags) \ |
| | ( (This)->lpVtbl -> SetConfigPrefs(This,dwConfigFlags) ) |
| | |
| | #define IEVRFilterConfigEx_GetConfigPrefs(This,pdwConfigFlags) \ |
| | ( (This)->lpVtbl -> GetConfigPrefs(This,pdwConfigFlags) ) |
| | |
| | #endif /* COBJMACROS */ |
| | |
| | #endif /* C style interface */ |
| | |
| | #endif /* __IEVRFilterConfigEx_INTERFACE_DEFINED__ */ |
| | |
| | /* interface __MIDL_itf_evr_0000_0011 */ |
| /* [local] */ | | /* [local] */ |
| | |
| typedef | | typedef |
| enum _MF_SERVICE_LOOKUP_TYPE | | enum _MF_SERVICE_LOOKUP_TYPE |
| { MF_SERVICE_LOOKUP_UPSTREAM = 0, | | { MF_SERVICE_LOOKUP_UPSTREAM = 0, |
| MF_SERVICE_LOOKUP_UPSTREAM_DIRECT = ( MF_SERVICE_LOOKUP_UPSTREAM +
1 ) , | | MF_SERVICE_LOOKUP_UPSTREAM_DIRECT = ( MF_SERVICE_LOOKUP_UPSTREAM +
1 ) , |
| MF_SERVICE_LOOKUP_DOWNSTREAM = ( MF_SERVICE_LOOKUP_UPSTREAM_DIRECT + 1
) , | | MF_SERVICE_LOOKUP_DOWNSTREAM = ( MF_SERVICE_LOOKUP_UPSTREAM_DIRECT + 1
) , |
| MF_SERVICE_LOOKUP_DOWNSTREAM_DIRECT = ( MF_SERVICE_LOOKUP_DOWNSTREAM
+ 1 ) , | | MF_SERVICE_LOOKUP_DOWNSTREAM_DIRECT = ( MF_SERVICE_LOOKUP_DOWNSTREAM
+ 1 ) , |
| MF_SERVICE_LOOKUP_ALL = ( MF_SERVICE_LOOKUP_DOWNSTREAM_DIRECT + 1 ) , | | MF_SERVICE_LOOKUP_ALL = ( MF_SERVICE_LOOKUP_DOWNSTREAM_DIRECT + 1 ) , |
| MF_SERVICE_LOOKUP_GLOBAL = ( MF_SERVICE_LOOKUP_ALL + 1 ) | | MF_SERVICE_LOOKUP_GLOBAL = ( MF_SERVICE_LOOKUP_ALL + 1 ) |
| } MF_SERVICE_LOOKUP_TYPE; | | } MF_SERVICE_LOOKUP_TYPE; |
| | |
|
| extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0009_v0_0_c_ifspec; | | extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0011_v0_0_c_ifspec; |
| extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0009_v0_0_s_ifspec; | | extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0011_v0_0_s_ifspec; |
| | |
| #ifndef __IMFTopologyServiceLookup_INTERFACE_DEFINED__ | | #ifndef __IMFTopologyServiceLookup_INTERFACE_DEFINED__ |
| #define __IMFTopologyServiceLookup_INTERFACE_DEFINED__ | | #define __IMFTopologyServiceLookup_INTERFACE_DEFINED__ |
| | |
| /* interface IMFTopologyServiceLookup */ | | /* interface IMFTopologyServiceLookup */ |
| /* [local][helpstring][uuid][object] */ | | /* [local][helpstring][uuid][object] */ |
| | |
| EXTERN_C const IID IID_IMFTopologyServiceLookup; | | EXTERN_C const IID IID_IMFTopologyServiceLookup; |
| | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | | #if defined(__cplusplus) && !defined(CINTERFACE) |
| | |
| MIDL_INTERFACE("fa993889-4383-415a-a930-dd472a8cf6f7") | | MIDL_INTERFACE("fa993889-4383-415a-a930-dd472a8cf6f7") |
| IMFTopologyServiceLookup : public IUnknown | | IMFTopologyServiceLookup : public IUnknown |
| { | | { |
| public: | | public: |
| virtual HRESULT STDMETHODCALLTYPE LookupService( | | virtual HRESULT STDMETHODCALLTYPE LookupService( |
| /* [in] */ MF_SERVICE_LOOKUP_TYPE Type, | | /* [in] */ MF_SERVICE_LOOKUP_TYPE Type, |
| /* [in] */ DWORD dwIndex, | | /* [in] */ DWORD dwIndex, |
| /* [in] */ REFGUID guidService, | | /* [in] */ REFGUID guidService, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __out_ecount_full(*pnObjects) LPVOID *ppvObjects, | | __out_ecount_full(*pnObjects) LPVOID *ppvObjects, |
|
| /* [out][in] */ | | /* [annotation][out][in] */ |
| __inout DWORD *pnObjects) = 0; | | __inout DWORD *pnObjects) = 0; |
| | |
| }; | | }; |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IMFTopologyServiceLookupVtbl | | typedef struct IMFTopologyServiceLookupVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| IMFTopologyServiceLookup * This, | | IMFTopologyServiceLookup * This, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| IMFTopologyServiceLookup * This); | | IMFTopologyServiceLookup * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
| IMFTopologyServiceLookup * This); | | IMFTopologyServiceLookup * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *LookupService )( | | HRESULT ( STDMETHODCALLTYPE *LookupService )( |
| IMFTopologyServiceLookup * This, | | IMFTopologyServiceLookup * This, |
| /* [in] */ MF_SERVICE_LOOKUP_TYPE Type, | | /* [in] */ MF_SERVICE_LOOKUP_TYPE Type, |
| /* [in] */ DWORD dwIndex, | | /* [in] */ DWORD dwIndex, |
| /* [in] */ REFGUID guidService, | | /* [in] */ REFGUID guidService, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __out_ecount_full(*pnObjects) LPVOID *ppvObjects, | | __out_ecount_full(*pnObjects) LPVOID *ppvObjects, |
|
| /* [out][in] */ | | /* [annotation][out][in] */ |
| __inout DWORD *pnObjects); | | __inout DWORD *pnObjects); |
| | |
| END_INTERFACE | | END_INTERFACE |
| } IMFTopologyServiceLookupVtbl; | | } IMFTopologyServiceLookupVtbl; |
| | |
| interface IMFTopologyServiceLookup | | interface IMFTopologyServiceLookup |
| { | | { |
| CONST_VTBL struct IMFTopologyServiceLookupVtbl *lpVtbl; | | CONST_VTBL struct IMFTopologyServiceLookupVtbl *lpVtbl; |
| }; | | }; |
| | |
| | |
| skipping to change at line 1297 | | skipping to change at line 1545 |
| | |
| EXTERN_C const IID IID_IMFTopologyServiceLookupClient; | | EXTERN_C const IID IID_IMFTopologyServiceLookupClient; |
| | |
| #if defined(__cplusplus) && !defined(CINTERFACE) | | #if defined(__cplusplus) && !defined(CINTERFACE) |
| | |
| MIDL_INTERFACE("fa99388a-4383-415a-a930-dd472a8cf6f7") | | MIDL_INTERFACE("fa99388a-4383-415a-a930-dd472a8cf6f7") |
| IMFTopologyServiceLookupClient : public IUnknown | | IMFTopologyServiceLookupClient : public IUnknown |
| { | | { |
| public: | | public: |
| virtual HRESULT STDMETHODCALLTYPE InitServicePointers( | | virtual HRESULT STDMETHODCALLTYPE InitServicePointers( |
|
| /* [in] */ | | /* [annotation][in] */ |
| __in IMFTopologyServiceLookup *pLookup) = 0; | | __in IMFTopologyServiceLookup *pLookup) = 0; |
| | |
| virtual HRESULT STDMETHODCALLTYPE ReleaseServicePointers( void) = 0; | | virtual HRESULT STDMETHODCALLTYPE ReleaseServicePointers( void) = 0; |
| | |
| }; | | }; |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IMFTopologyServiceLookupClientVtbl | | typedef struct IMFTopologyServiceLookupClientVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| IMFTopologyServiceLookupClient * This, | | IMFTopologyServiceLookupClient * This, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| IMFTopologyServiceLookupClient * This); | | IMFTopologyServiceLookupClient * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
| IMFTopologyServiceLookupClient * This); | | IMFTopologyServiceLookupClient * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *InitServicePointers )( | | HRESULT ( STDMETHODCALLTYPE *InitServicePointers )( |
| IMFTopologyServiceLookupClient * This, | | IMFTopologyServiceLookupClient * This, |
|
| /* [in] */ | | /* [annotation][in] */ |
| __in IMFTopologyServiceLookup *pLookup); | | __in IMFTopologyServiceLookup *pLookup); |
| | |
| HRESULT ( STDMETHODCALLTYPE *ReleaseServicePointers )( | | HRESULT ( STDMETHODCALLTYPE *ReleaseServicePointers )( |
| IMFTopologyServiceLookupClient * This); | | IMFTopologyServiceLookupClient * This); |
| | |
| END_INTERFACE | | END_INTERFACE |
| } IMFTopologyServiceLookupClientVtbl; | | } IMFTopologyServiceLookupClientVtbl; |
| | |
| interface IMFTopologyServiceLookupClient | | interface IMFTopologyServiceLookupClient |
| { | | { |
| | |
| skipping to change at line 1398 | | skipping to change at line 1646 |
| | |
| #else /* C style interface */ | | #else /* C style interface */ |
| | |
| typedef struct IEVRTrustedVideoPluginVtbl | | typedef struct IEVRTrustedVideoPluginVtbl |
| { | | { |
| BEGIN_INTERFACE | | BEGIN_INTERFACE |
| | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | | HRESULT ( STDMETHODCALLTYPE *QueryInterface )( |
| IEVRTrustedVideoPlugin * This, | | IEVRTrustedVideoPlugin * This, |
| /* [in] */ REFIID riid, | | /* [in] */ REFIID riid, |
|
| /* [iid_is][out] */ | | /* [annotation][iid_is][out] */ |
| __RPC__deref_out void **ppvObject); | | __RPC__deref_out void **ppvObject); |
| | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | | ULONG ( STDMETHODCALLTYPE *AddRef )( |
| IEVRTrustedVideoPlugin * This); | | IEVRTrustedVideoPlugin * This); |
| | |
| ULONG ( STDMETHODCALLTYPE *Release )( | | ULONG ( STDMETHODCALLTYPE *Release )( |
| IEVRTrustedVideoPlugin * This); | | IEVRTrustedVideoPlugin * This); |
| | |
| HRESULT ( STDMETHODCALLTYPE *IsInTrustedVideoMode )( | | HRESULT ( STDMETHODCALLTYPE *IsInTrustedVideoMode )( |
| IEVRTrustedVideoPlugin * This, | | IEVRTrustedVideoPlugin * This, |
| | |
| skipping to change at line 1460 | | skipping to change at line 1708 |
| | |
| #define IEVRTrustedVideoPlugin_DisableImageExport(This,bDisable) \ | | #define IEVRTrustedVideoPlugin_DisableImageExport(This,bDisable) \ |
| ( (This)->lpVtbl -> DisableImageExport(This,bDisable) ) | | ( (This)->lpVtbl -> DisableImageExport(This,bDisable) ) |
| | |
| #endif /* COBJMACROS */ | | #endif /* COBJMACROS */ |
| | |
| #endif /* C style interface */ | | #endif /* C style interface */ |
| | |
| #endif /* __IEVRTrustedVideoPlugin_INTERFACE_DEFINED__ */ | | #endif /* __IEVRTrustedVideoPlugin_INTERFACE_DEFINED__ */ |
| | |
|
| /* interface __MIDL_itf_evr_0000_0012 */ | | /* interface __MIDL_itf_evr_0000_0014 */ |
| /* [local] */ | | /* [local] */ |
| | |
| #if MFEVRDLL | | #if MFEVRDLL |
| #define EVRPUBLIC(func) STDAPI _##func | | #define EVRPUBLIC(func) STDAPI _##func |
| #else | | #else |
| #define EVRPUBLIC(func) STDAPI func | | #define EVRPUBLIC(func) STDAPI func |
| #endif | | #endif |
| EVRPUBLIC(MFCreateVideoPresenter)( | | EVRPUBLIC(MFCreateVideoPresenter)( |
| __in_opt IUnknown * pOwner, | | __in_opt IUnknown * pOwner, |
| REFIID riidDevice, | | REFIID riidDevice, |
| | |
| skipping to change at line 1497 | | skipping to change at line 1745 |
| ); | | ); |
| EVRPUBLIC(MFCreateVideoRenderer)( | | EVRPUBLIC(MFCreateVideoRenderer)( |
| REFIID riidRenderer, | | REFIID riidRenderer, |
| __deref_out_opt void ** ppVideoRenderer | | __deref_out_opt void ** ppVideoRenderer |
| ); | | ); |
| EVRPUBLIC(MFCreateVideoSampleFromSurface)( | | EVRPUBLIC(MFCreateVideoSampleFromSurface)( |
| __in_opt IUnknown* pUnkSurface, | | __in_opt IUnknown* pUnkSurface, |
| __deref_out_opt IMFSample** ppSample | | __deref_out_opt IMFSample** ppSample |
| ); | | ); |
| | |
|
| extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0012_v0_0_c_ifspec; | | extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0014_v0_0_c_ifspec; |
| extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0012_v0_0_s_ifspec; | | extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0014_v0_0_s_ifspec; |
| | |
| /* Additional Prototypes for ALL interfaces */ | | /* Additional Prototypes for ALL interfaces */ |
| | |
|
| unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsign | | unsigned long __RPC_USER HWND_UserSize( __RPC__in unsigned long |
| ed long , HWND * ); | | *, unsigned long , __RPC__in HWND * ); |
| unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, | | unsigned char * __RPC_USER HWND_UserMarshal( __RPC__in unsigned long *, __RPC_ |
| HWND * ); | | _inout_xcount(0) unsigned char *, __RPC__in HWND * ); |
| unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, | | unsigned char * __RPC_USER HWND_UserUnmarshal(__RPC__in unsigned long *, __RPC_ |
| HWND * ); | | _in_xcount(0) unsigned char *, __RPC__out HWND * ); |
| void __RPC_USER HWND_UserFree( unsigned long *, HWND * | | void __RPC_USER HWND_UserFree( __RPC__in unsigned long |
| ); | | *, __RPC__in HWND * ); |
| | |
|
| unsigned long __RPC_USER HWND_UserSize64( unsigned long *, unsi | | unsigned long __RPC_USER HWND_UserSize64( __RPC__in unsigned lo |
| gned long , HWND * ); | | ng *, unsigned long , __RPC__in HWND * ); |
| unsigned char * __RPC_USER HWND_UserMarshal64( unsigned long *, unsigned char | | unsigned char * __RPC_USER HWND_UserMarshal64( __RPC__in unsigned long *, __RP |
| *, HWND * ); | | C__inout_xcount(0) unsigned char *, __RPC__in HWND * ); |
| unsigned char * __RPC_USER HWND_UserUnmarshal64(unsigned long *, unsigned char | | unsigned char * __RPC_USER HWND_UserUnmarshal64(__RPC__in unsigned long *, __RP |
| *, HWND * ); | | C__in_xcount(0) unsigned char *, __RPC__out HWND * ); |
| void __RPC_USER HWND_UserFree64( unsigned long *, HWND | | void __RPC_USER HWND_UserFree64( __RPC__in unsigned lo |
| * ); | | ng *, __RPC__in HWND * ); |
| | |
| /* end of Additional Prototypes */ | | /* end of Additional Prototypes */ |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| } | | } |
| #endif | | #endif |
| | |
| #endif | | #endif |
| | |
| End of changes. 81 change blocks. |
| 97 lines changed or deleted | | 345 lines changed or added |
|
| mfapi.h (6.0.6002.18005-Windows 6.0) | | mfapi.h (6.1.7601.19091-Windows 7.0) |
| | |
| skipping to change at line 32 | | skipping to change at line 32 |
| | |
| #include <avrt.h> | | #include <avrt.h> |
| #ifndef AVRT_DATA | | #ifndef AVRT_DATA |
| #define AVRT_DATA | | #define AVRT_DATA |
| #endif | | #endif |
| #ifndef AVRT_BSS | | #ifndef AVRT_BSS |
| #define AVRT_BSS | | #define AVRT_BSS |
| #endif | | #endif |
| | |
| #if !defined(MF_VERSION) | | #if !defined(MF_VERSION) |
|
| | |
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| | #define MF_SDK_VERSION 0x0002 |
| | |
| | #else // Vista |
| | |
| #define MF_SDK_VERSION 0x0001 | | #define MF_SDK_VERSION 0x0001 |
|
| #define MF_API_VERSION 0x0070 // Increment this whenever you change an API | | |
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| | #define MF_API_VERSION 0x0070 // This value is unused in the Win7 release and le |
| | ft at its Vista release value |
| #define MF_VERSION (MF_SDK_VERSION << 16 | MF_API_VERSION) | | #define MF_VERSION (MF_SDK_VERSION << 16 | MF_API_VERSION) |
|
| #endif | | |
| | #endif //!defined(MF_VERSION) |
| | |
| #define MFSTARTUP_NOSOCKET 0x1 | | #define MFSTARTUP_NOSOCKET 0x1 |
| #define MFSTARTUP_LITE (MFSTARTUP_NOSOCKET) | | #define MFSTARTUP_LITE (MFSTARTUP_NOSOCKET) |
| #define MFSTARTUP_FULL 0 | | #define MFSTARTUP_FULL 0 |
| | |
| #if defined(__cplusplus) | | #if defined(__cplusplus) |
| extern "C" { | | extern "C" { |
| #endif | | #endif |
| | |
| //////////////////////////////////////////////////////////////////////////////// | | //////////////////////////////////////////////////////////////////////////////// |
| | |
| skipping to change at line 102 | | skipping to change at line 113 |
| IUnknown * pState); | | IUnknown * pState); |
| | |
| STDAPI MFPutWorkItemEx( | | STDAPI MFPutWorkItemEx( |
| DWORD dwQueue, | | DWORD dwQueue, |
| IMFAsyncResult * pResult); | | IMFAsyncResult * pResult); |
| | |
| STDAPI MFScheduleWorkItem( | | STDAPI MFScheduleWorkItem( |
| IMFAsyncCallback * pCallback, | | IMFAsyncCallback * pCallback, |
| IUnknown * pState, | | IUnknown * pState, |
| INT64 Timeout, | | INT64 Timeout, |
|
| MFWORKITEM_KEY * pKey); | | __out_opt MFWORKITEM_KEY * pKey); |
| | |
| STDAPI MFScheduleWorkItemEx( | | STDAPI MFScheduleWorkItemEx( |
| IMFAsyncResult * pResult, | | IMFAsyncResult * pResult, |
| INT64 Timeout, | | INT64 Timeout, |
|
| MFWORKITEM_KEY * pKey); | | __out_opt MFWORKITEM_KEY * pKey); |
| | |
| // | | // |
| // The CancelWorkItem method is used by objects to cancel scheduled operation | | // The CancelWorkItem method is used by objects to cancel scheduled operation |
| // Due to asynchronous nature of timers, application might still get a | | // Due to asynchronous nature of timers, application might still get a |
| // timer callback after MFCancelWorkItem has returned. | | // timer callback after MFCancelWorkItem has returned. |
| // | | // |
| STDAPI MFCancelWorkItem( | | STDAPI MFCancelWorkItem( |
| MFWORKITEM_KEY Key); | | MFWORKITEM_KEY Key); |
| | |
| /////////////////////////////////////////////////////////////////////////////// | | /////////////////////////////////////////////////////////////////////////////// |
| | |
| // | | // |
| // MF periodic callbacks | | // MF periodic callbacks |
| // | | // |
| STDAPI MFGetTimerPeriodicity( | | STDAPI MFGetTimerPeriodicity( |
|
| DWORD * Periodicity); | | __out DWORD * Periodicity); |
| | |
| typedef void (*MFPERIODICCALLBACK)(IUnknown* pContext); | | typedef void (*MFPERIODICCALLBACK)(IUnknown* pContext); |
| | |
| STDAPI MFAddPeriodicCallback( | | STDAPI MFAddPeriodicCallback( |
| MFPERIODICCALLBACK Callback, | | MFPERIODICCALLBACK Callback, |
| IUnknown * pContext, | | IUnknown * pContext, |
|
| DWORD * pdwKey); | | __out_opt DWORD * pdwKey); |
| | |
| STDAPI MFRemovePeriodicCallback( | | STDAPI MFRemovePeriodicCallback( |
| DWORD dwKey); | | DWORD dwKey); |
| | |
| /////////////////////////////////////////////////////////////////////////////// | | /////////////////////////////////////////////////////////////////////////////// |
| | |
| // | | // |
| // MF work queues | | // MF work queues |
| // | | // |
|
| | |
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | // |
| | // MFASYNC_WORKQUEUE_TYPE: types of work queue used by MFAllocateWorkQueueEx |
| | // |
| | typedef enum |
| | { |
| | // MF_STANDARD_WORKQUEUE: Work queue in a thread without Window |
| | // message loop. |
| | MF_STANDARD_WORKQUEUE = 0, |
| | |
| | // MF_WINDOW_WORKQUEUE: Work queue in a thread running Window |
| | // Message loop that calls PeekMessage() / DispatchMessage().. |
| | MF_WINDOW_WORKQUEUE = 1, |
| | } MFASYNC_WORKQUEUE_TYPE; |
| | |
| | STDAPI MFAllocateWorkQueueEx( |
| | __in MFASYNC_WORKQUEUE_TYPE WorkQueueType, |
| | __out OUT DWORD * pdwWorkQueue); |
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| | // |
| | // Allocate a standard work queue. the behaviour is the same with: |
| | // MFAllocateWorkQueueEx( MF_STANDARD_WORKQUEUE, pdwWorkQueue ) |
| | // |
| STDAPI MFAllocateWorkQueue( | | STDAPI MFAllocateWorkQueue( |
| __out OUT DWORD * pdwWorkQueue); | | __out OUT DWORD * pdwWorkQueue); |
| | |
| STDAPI MFLockWorkQueue( | | STDAPI MFLockWorkQueue( |
|
| IN DWORD dwWorkQueue); | | __in DWORD dwWorkQueue); |
| | |
| STDAPI MFUnlockWorkQueue( | | STDAPI MFUnlockWorkQueue( |
|
| IN DWORD dwWorkQueue); | | __in DWORD dwWorkQueue); |
| | |
| STDAPI MFBeginRegisterWorkQueueWithMMCSS( | | STDAPI MFBeginRegisterWorkQueueWithMMCSS( |
| DWORD dwWorkQueueId, | | DWORD dwWorkQueueId, |
| __in LPCWSTR wszClass, | | __in LPCWSTR wszClass, |
| DWORD dwTaskId, | | DWORD dwTaskId, |
| __in IMFAsyncCallback * pDoneCallback, | | __in IMFAsyncCallback * pDoneCallback, |
| __in IUnknown * pDoneState ); | | __in IUnknown * pDoneState ); |
| | |
| STDAPI MFEndRegisterWorkQueueWithMMCSS( | | STDAPI MFEndRegisterWorkQueueWithMMCSS( |
| __in IMFAsyncResult * pResult, | | __in IMFAsyncResult * pResult, |
| __out DWORD * pdwTaskId ); | | __out DWORD * pdwTaskId ); |
| | |
| STDAPI MFBeginUnregisterWorkQueueWithMMCSS( | | STDAPI MFBeginUnregisterWorkQueueWithMMCSS( |
| DWORD dwWorkQueueId, | | DWORD dwWorkQueueId, |
| __in IMFAsyncCallback * pDoneCallback, | | __in IMFAsyncCallback * pDoneCallback, |
| __in IUnknown * pDoneState ); | | __in IUnknown * pDoneState ); |
| | |
| STDAPI MFEndUnregisterWorkQueueWithMMCSS( | | STDAPI MFEndUnregisterWorkQueueWithMMCSS( |
| __in IMFAsyncResult * pResult ); | | __in IMFAsyncResult * pResult ); |
| | |
|
| STDAPI MFSetWorkQueueClass( | | |
| DWORD dwWorkQueueId, | | |
| LPCWSTR szClass ); | | |
| | | |
| STDAPI MFGetWorkQueueMMCSSClass( | | STDAPI MFGetWorkQueueMMCSSClass( |
| DWORD dwWorkQueueId, | | DWORD dwWorkQueueId, |
| __out_ecount_part_opt(*pcchClass,*pcchClass) LPWSTR pwszClass, | | __out_ecount_part_opt(*pcchClass,*pcchClass) LPWSTR pwszClass, |
| __inout DWORD *pcchClass ); | | __inout DWORD *pcchClass ); |
| | |
| STDAPI MFGetWorkQueueMMCSSTaskId( | | STDAPI MFGetWorkQueueMMCSSTaskId( |
| DWORD dwWorkQueueId, | | DWORD dwWorkQueueId, |
| __out LPDWORD pdwTaskId ); | | __out LPDWORD pdwTaskId ); |
| | |
| /////////////////////////////////////////////////////////////////////////////// | | /////////////////////////////////////////////////////////////////////////////// |
| ///////////////////////////////// Async Model ////////////////////////////// | | ///////////////////////////////// Async Model ////////////////////////////// |
| /////////////////////////////////////////////////////////////////////////////// | | /////////////////////////////////////////////////////////////////////////////// |
| | |
| // | | // |
| // Instantiates the MF-provided Async Result implementation | | // Instantiates the MF-provided Async Result implementation |
| // | | // |
| STDAPI MFCreateAsyncResult( | | STDAPI MFCreateAsyncResult( |
| IUnknown * punkObject, | | IUnknown * punkObject, |
| IMFAsyncCallback * pCallback, | | IMFAsyncCallback * pCallback, |
| IUnknown * punkState, | | IUnknown * punkState, |
|
| IMFAsyncResult ** ppAsyncResult ); | | __out IMFAsyncResult ** ppAsyncResult ); |
| | |
| // | | // |
| // Helper for calling IMFAsyncCallback::Invoke | | // Helper for calling IMFAsyncCallback::Invoke |
| // | | // |
| STDAPI MFInvokeCallback( | | STDAPI MFInvokeCallback( |
| IMFAsyncResult * pAsyncResult ); | | IMFAsyncResult * pAsyncResult ); |
| | |
| // | | // |
| // MFASYNCRESULT struct. | | // MFASYNCRESULT struct. |
| // Any implementation of IMFAsyncResult must inherit from this struct; | | // Any implementation of IMFAsyncResult must inherit from this struct; |
| | |
| skipping to change at line 239 | | skipping to change at line 271 |
| | |
| // | | // |
| // Regardless of the access mode with which the file is opened, the sharing | | // Regardless of the access mode with which the file is opened, the sharing |
| // permissions will allow shared reading and deleting. | | // permissions will allow shared reading and deleting. |
| // | | // |
| STDAPI MFCreateFile( | | STDAPI MFCreateFile( |
| MF_FILE_ACCESSMODE AccessMode, | | MF_FILE_ACCESSMODE AccessMode, |
| MF_FILE_OPENMODE OpenMode, | | MF_FILE_OPENMODE OpenMode, |
| MF_FILE_FLAGS fFlags, | | MF_FILE_FLAGS fFlags, |
| LPCWSTR pwszFileURL, | | LPCWSTR pwszFileURL, |
|
| IMFByteStream **ppIByteStream ); | | __out IMFByteStream **ppIByteStream ); |
| | |
| STDAPI MFCreateTempFile( | | STDAPI MFCreateTempFile( |
| MF_FILE_ACCESSMODE AccessMode, | | MF_FILE_ACCESSMODE AccessMode, |
| MF_FILE_OPENMODE OpenMode, | | MF_FILE_OPENMODE OpenMode, |
| MF_FILE_FLAGS fFlags, | | MF_FILE_FLAGS fFlags, |
|
| IMFByteStream **ppIByteStream ); | | __out IMFByteStream **ppIByteStream ); |
| | |
| STDAPI MFBeginCreateFile( | | STDAPI MFBeginCreateFile( |
|
| IN MF_FILE_ACCESSMODE AccessMode, | | MF_FILE_ACCESSMODE AccessMode, |
| IN MF_FILE_OPENMODE OpenMode, | | MF_FILE_OPENMODE OpenMode, |
| IN MF_FILE_FLAGS fFlags, | | MF_FILE_FLAGS fFlags, |
| IN LPCWSTR pwszFilePath, | | LPCWSTR pwszFilePath, |
| IN IMFAsyncCallback * pCallback, | | IMFAsyncCallback * pCallback, |
| IN IUnknown * pState, | | IUnknown * pState, |
| OUT IUnknown ** ppCancelCookie); | | __out IUnknown ** ppCancelCookie); |
| | |
| STDAPI MFEndCreateFile( | | STDAPI MFEndCreateFile( |
|
| IN IMFAsyncResult * pResult, | | IMFAsyncResult * pResult, |
| OUT IMFByteStream **ppFile ); | | __out IMFByteStream **ppFile ); |
| | |
| STDAPI MFCancelCreateFile( | | STDAPI MFCancelCreateFile( |
|
| IN IUnknown * pCancelCookie); | | IUnknown * pCancelCookie); |
| | |
| /////////////////////////////////////////////////////////////////////////////// | | /////////////////////////////////////////////////////////////////////////////// |
| ///////////////////////////////// Buffers ////////////////////////////// | | ///////////////////////////////// Buffers ////////////////////////////// |
| /////////////////////////////////////////////////////////////////////////////// | | /////////////////////////////////////////////////////////////////////////////// |
| | |
| // | | // |
| // Creates an IMFMediaBuffer in memory | | // Creates an IMFMediaBuffer in memory |
| // | | // |
| STDAPI MFCreateMemoryBuffer( | | STDAPI MFCreateMemoryBuffer( |
| __in DWORD cbMaxLength, | | __in DWORD cbMaxLength, |
|
| __deref_out IMFMediaBuffer ** ppBuffer ); | | __out IMFMediaBuffer ** ppBuffer ); |
| | |
| // | | // |
| // Creates an IMFMediaBuffer wrapper at the given offset and length | | // Creates an IMFMediaBuffer wrapper at the given offset and length |
| // within an existing IMFMediaBuffer | | // within an existing IMFMediaBuffer |
| // | | // |
| STDAPI MFCreateMediaBufferWrapper( | | STDAPI MFCreateMediaBufferWrapper( |
| __in IMFMediaBuffer * pBuffer, | | __in IMFMediaBuffer * pBuffer, |
| __in DWORD cbOffset, | | __in DWORD cbOffset, |
| __in DWORD dwLength, | | __in DWORD dwLength, |
|
| __deref_out IMFMediaBuffer ** ppBuffer ); | | __out IMFMediaBuffer ** ppBuffer ); |
| | |
| // | | // |
| // Creates a legacy buffer (IMediaBuffer) wrapper at the given offset within | | // Creates a legacy buffer (IMediaBuffer) wrapper at the given offset within |
| // an existing IMFMediaBuffer. | | // an existing IMFMediaBuffer. |
| // pSample is optional. It can point to the original IMFSample from which this | | // pSample is optional. It can point to the original IMFSample from which this |
| // IMFMediaBuffer came. If provided, then *ppMediaBuffer will succeed | | // IMFMediaBuffer came. If provided, then *ppMediaBuffer will succeed |
| // QueryInterface for IID_IMFSample, from which the original sample's attributes | | // QueryInterface for IID_IMFSample, from which the original sample's attributes |
| // can be obtained | | // can be obtained |
| // | | // |
| STDAPI MFCreateLegacyMediaBufferOnMFMediaBuffer( | | STDAPI MFCreateLegacyMediaBufferOnMFMediaBuffer( |
| | |
| skipping to change at line 326 | | skipping to change at line 358 |
| #define MF_16_BYTE_ALIGNMENT 0x0000000f | | #define MF_16_BYTE_ALIGNMENT 0x0000000f |
| #define MF_32_BYTE_ALIGNMENT 0x0000001f | | #define MF_32_BYTE_ALIGNMENT 0x0000001f |
| #define MF_64_BYTE_ALIGNMENT 0x0000003f | | #define MF_64_BYTE_ALIGNMENT 0x0000003f |
| #define MF_128_BYTE_ALIGNMENT 0x0000007f | | #define MF_128_BYTE_ALIGNMENT 0x0000007f |
| #define MF_256_BYTE_ALIGNMENT 0x000000ff | | #define MF_256_BYTE_ALIGNMENT 0x000000ff |
| #define MF_512_BYTE_ALIGNMENT 0x000001ff | | #define MF_512_BYTE_ALIGNMENT 0x000001ff |
| | |
| STDAPI MFCreateAlignedMemoryBuffer( | | STDAPI MFCreateAlignedMemoryBuffer( |
| __in DWORD cbMaxLength, | | __in DWORD cbMaxLength, |
| __in DWORD cbAligment, | | __in DWORD cbAligment, |
|
| __deref_out IMFMediaBuffer ** ppBuffer ); | | __out IMFMediaBuffer ** ppBuffer ); |
| | |
| // | | // |
| // This GUID is used in IMFGetService::GetService calls to retrieve | | // This GUID is used in IMFGetService::GetService calls to retrieve |
| // interfaces from the buffer. Its value is defined in evr.h | | // interfaces from the buffer. Its value is defined in evr.h |
| // | | // |
| EXTERN_C const GUID MR_BUFFER_SERVICE; | | EXTERN_C const GUID MR_BUFFER_SERVICE; |
| | |
| /////////////////////////////////////////////////////////////////////////////// | | /////////////////////////////////////////////////////////////////////////////// |
| ///////////////////////////////// Events ////////////////////////////// | | ///////////////////////////////// Events ////////////////////////////// |
| /////////////////////////////////////////////////////////////////////////////// | | /////////////////////////////////////////////////////////////////////////////// |
| | |
| // | | // |
| // Instantiates the MF-provided Media Event implementation. | | // Instantiates the MF-provided Media Event implementation. |
| // | | // |
| STDAPI MFCreateMediaEvent( | | STDAPI MFCreateMediaEvent( |
|
| MediaEventType met, | | __in MediaEventType met, |
| REFGUID guidExtendedType, | | __in REFGUID guidExtendedType, |
| HRESULT hrStatus, | | __in HRESULT hrStatus, |
| const PROPVARIANT * pvValue, | | __in_opt const PROPVARIANT * pvValue, |
| IMFMediaEvent ** ppEvent ); | | __out IMFMediaEvent ** ppEvent ); |
| | |
| // | | // |
| // Instantiates an object that implements IMFMediaEventQueue. | | // Instantiates an object that implements IMFMediaEventQueue. |
| // Components that provide an IMFMediaEventGenerator can use this object | | // Components that provide an IMFMediaEventGenerator can use this object |
| // internally to do their Media Event Generator work for them. | | // internally to do their Media Event Generator work for them. |
| // IMFMediaEventGenerator calls should be forwarded to the similar call | | // IMFMediaEventGenerator calls should be forwarded to the similar call |
| // on this object's IMFMediaEventQueue interface (e.g. BeginGetEvent, | | // on this object's IMFMediaEventQueue interface (e.g. BeginGetEvent, |
| // EndGetEvent), and the various IMFMediaEventQueue::QueueEventXXX methods | | // EndGetEvent), and the various IMFMediaEventQueue::QueueEventXXX methods |
| // can be used to queue events that the caller will consume. | | // can be used to queue events that the caller will consume. |
| // | | // |
| STDAPI MFCreateEventQueue( | | STDAPI MFCreateEventQueue( |
|
| IMFMediaEventQueue **ppMediaEventQueue ); | | __out IMFMediaEventQueue **ppMediaEventQueue ); |
| | |
| // | | // |
| // Event attributes | | // Event attributes |
| // Some of the common Media Foundation events have associated attributes | | // Some of the common Media Foundation events have associated attributes |
| // that go in their IMFAttributes stores | | // that go in their IMFAttributes stores |
| // | | // |
| | |
| // | | // |
| // MESessionCapabilitiesChanged attributes | | // MESessionCapabilitiesChanged attributes |
| // | | // |
| | |
| skipping to change at line 388 | | skipping to change at line 420 |
| 0x7e5ebcd1, 0x11b8, 0x4abe, 0xaf, 0xad, 0x10, 0xf6, 0x59, 0x9a, 0x7f, 0x42); | | 0x7e5ebcd1, 0x11b8, 0x4abe, 0xaf, 0xad, 0x10, 0xf6, 0x59, 0x9a, 0x7f, 0x42); |
| | |
| // Session capabilities bitflags | | // Session capabilities bitflags |
| #define MFSESSIONCAP_START 0x00000001 | | #define MFSESSIONCAP_START 0x00000001 |
| #define MFSESSIONCAP_SEEK 0x00000002 | | #define MFSESSIONCAP_SEEK 0x00000002 |
| #define MFSESSIONCAP_PAUSE 0x00000004 | | #define MFSESSIONCAP_PAUSE 0x00000004 |
| #define MFSESSIONCAP_RATE_FORWARD 0x00000010 | | #define MFSESSIONCAP_RATE_FORWARD 0x00000010 |
| #define MFSESSIONCAP_RATE_REVERSE 0x00000020 | | #define MFSESSIONCAP_RATE_REVERSE 0x00000020 |
| | |
| // | | // |
|
| // MESesssionTopologyStatus attributes | | // MESessionTopologyStatus attributes |
| // | | // |
| | |
| // Possible values for MF_EVENT_TOPOLOGY_STATUS attribute. | | // Possible values for MF_EVENT_TOPOLOGY_STATUS attribute. |
| // | | // |
| // For a given topology, these status values will arrive via | | // For a given topology, these status values will arrive via |
| // MESessionTopologyStatus in the order below. | | // MESessionTopologyStatus in the order below. |
| // | | // |
| // However, there are no guarantees about how these status values will be | | // However, there are no guarantees about how these status values will be |
| // ordered between two consecutive topologies. For example, | | // ordered between two consecutive topologies. For example, |
| // MF_TOPOSTATUS_READY could arrive for topology n+1 before | | // MF_TOPOSTATUS_READY could arrive for topology n+1 before |
| | |
| skipping to change at line 419 | | skipping to change at line 451 |
| | |
| // MF_TOPOSTATUS_READY: The topology has been put in place and is | | // MF_TOPOSTATUS_READY: The topology has been put in place and is |
| // ready to start. All GetService calls to the Media Session will use | | // ready to start. All GetService calls to the Media Session will use |
| // this topology. | | // this topology. |
| MF_TOPOSTATUS_READY = 100, | | MF_TOPOSTATUS_READY = 100, |
| | |
| // MF_TOPOSTATUS_STARTED_SOURCE: The Media Session has started to read | | // MF_TOPOSTATUS_STARTED_SOURCE: The Media Session has started to read |
| // and process data from the Media Source(s) in this topology. | | // and process data from the Media Source(s) in this topology. |
| MF_TOPOSTATUS_STARTED_SOURCE = 200, | | MF_TOPOSTATUS_STARTED_SOURCE = 200, |
| | |
|
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | // MF_TOPOSTATUS_DYNAMIC_CHANGED: The topology has been dynamic changed |
| | // due to the format change. |
| | MF_TOPOSTATUS_DYNAMIC_CHANGED = 210, |
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| // MF_TOPOSTATUS_SINK_SWITCHED: The Media Sinks in the pipeline have | | // MF_TOPOSTATUS_SINK_SWITCHED: The Media Sinks in the pipeline have |
| // switched from a previous topology to this topology. | | // switched from a previous topology to this topology. |
| // Note that this status does not get sent for the first topology; | | // Note that this status does not get sent for the first topology; |
| // applications can assume that the sinks are playing the first | | // applications can assume that the sinks are playing the first |
| // topology when they receive MESessionStarted. | | // topology when they receive MESessionStarted. |
| MF_TOPOSTATUS_SINK_SWITCHED = 300, | | MF_TOPOSTATUS_SINK_SWITCHED = 300, |
| | |
| // MF_TOPOSTATUS_ENDED: Playback of this topology is complete. | | // MF_TOPOSTATUS_ENDED: Playback of this topology is complete. |
| // Before deleting this topology, however, the application should wait | | // Before deleting this topology, however, the application should wait |
| // for either MESessionEnded or the MF_TOPOSTATUS_STARTED_SOURCE status | | // for either MESessionEnded or the MF_TOPOSTATUS_STARTED_SOURCE status |
| | |
| skipping to change at line 530 | | skipping to change at line 568 |
| | |
| // | | // |
| // MESinkInvalidated and MESessionStreamSinkFormatChanged attributes | | // MESinkInvalidated and MESessionStreamSinkFormatChanged attributes |
| // | | // |
| | |
| // MF_EVENT_OUTPUT_NODE {830f1a8b-c060-46dd-a801-1c95dec9b107} | | // MF_EVENT_OUTPUT_NODE {830f1a8b-c060-46dd-a801-1c95dec9b107} |
| // Type: UINT64 | | // Type: UINT64 |
| DEFINE_GUID(MF_EVENT_OUTPUT_NODE, | | DEFINE_GUID(MF_EVENT_OUTPUT_NODE, |
| 0x830f1a8b, 0xc060, 0x46dd, 0xa8, 0x01, 0x1c, 0x95, 0xde, 0xc9, 0xb1, 0x07); | | 0x830f1a8b, 0xc060, 0x46dd, 0xa8, 0x01, 0x1c, 0x95, 0xde, 0xc9, 0xb1, 0x07); |
| | |
|
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | // |
| | // METransformNeedInput attributes |
| | // |
| | |
| | // MF_EVENT_MFT_INPUT_STREAM_ID {F29C2CCA-7AE6-42d2-B284-BF837CC874E2} |
| | // Type: UINT32 |
| | DEFINE_GUID(MF_EVENT_MFT_INPUT_STREAM_ID, |
| | 0xf29c2cca, 0x7ae6, 0x42d2, 0xb2, 0x84, 0xbf, 0x83, 0x7c, 0xc8, 0x74, 0xe2); |
| | |
| | // |
| | // METransformDrainComplete and METransformMarker attributes |
| | // |
| | |
| | // MF_EVENT_MFT_CONTEXT {B7CD31F1-899E-4b41-80C9-26A896D32977} |
| | // Type: UINT64 |
| | DEFINE_GUID(MF_EVENT_MFT_CONTEXT, |
| | 0xb7cd31f1, 0x899e, 0x4b41, 0x80, 0xc9, 0x26, 0xa8, 0x96, 0xd3, 0x29, 0x77); |
| | |
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| //////////////////////////////////////////////////////////////////////////////// | | //////////////////////////////////////////////////////////////////////////////// |
| /////////////////////////////// Samples ////////////////////////////////////// | | /////////////////////////////// Samples ////////////////////////////////////// |
| //////////////////////////////////////////////////////////////////////////////// | | //////////////////////////////////////////////////////////////////////////////// |
| | |
| // | | // |
| // Creates an instance of the Media Foundation implementation of IMFSample | | // Creates an instance of the Media Foundation implementation of IMFSample |
| // | | // |
| STDAPI MFCreateSample( __out IMFSample **ppIMFSample ); | | STDAPI MFCreateSample( __out IMFSample **ppIMFSample ); |
| | |
| // | | // |
| | |
| skipping to change at line 681 | | skipping to change at line 740 |
| 0x9ea73fb4, 0xef7a, 0x4559, 0x8d, 0x5d, 0x71, 0x9d, 0x8f, 0x04, 0x26, 0xc7); | | 0x9ea73fb4, 0xef7a, 0x4559, 0x8d, 0x5d, 0x71, 0x9d, 0x8f, 0x04, 0x26, 0xc7); |
| | |
| // {91c64bd0-f91e-4d8c-9276-db248279d975} MFT_CATEGORY_AUDIO_ENCODER | | // {91c64bd0-f91e-4d8c-9276-db248279d975} MFT_CATEGORY_AUDIO_ENCODER |
| DEFINE_GUID(MFT_CATEGORY_AUDIO_ENCODER, | | DEFINE_GUID(MFT_CATEGORY_AUDIO_ENCODER, |
| 0x91c64bd0, 0xf91e, 0x4d8c, 0x92, 0x76, 0xdb, 0x24, 0x82, 0x79, 0xd9, 0x75); | | 0x91c64bd0, 0xf91e, 0x4d8c, 0x92, 0x76, 0xdb, 0x24, 0x82, 0x79, 0xd9, 0x75); |
| | |
| // {11064c48-3648-4ed0-932e-05ce8ac811b7} MFT_CATEGORY_AUDIO_EFFECT | | // {11064c48-3648-4ed0-932e-05ce8ac811b7} MFT_CATEGORY_AUDIO_EFFECT |
| DEFINE_GUID(MFT_CATEGORY_AUDIO_EFFECT, | | DEFINE_GUID(MFT_CATEGORY_AUDIO_EFFECT, |
| 0x11064c48, 0x3648, 0x4ed0, 0x93, 0x2e, 0x05, 0xce, 0x8a, 0xc8, 0x11, 0xb7); | | 0x11064c48, 0x3648, 0x4ed0, 0x93, 0x2e, 0x05, 0xce, 0x8a, 0xc8, 0x11, 0xb7); |
| | |
|
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | // {302EA3FC-AA5F-47f9-9F7A-C2188BB163021}...MFT_CATEGORY_VIDEO_PROCESSOR |
| | DEFINE_GUID(MFT_CATEGORY_VIDEO_PROCESSOR, |
| | 0x302ea3fc, 0xaa5f, 0x47f9, 0x9f, 0x7a, 0xc2, 0x18, 0x8b, 0xb1, 0x63, 0x2); |
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| // {90175d57-b7ea-4901-aeb3-933a8747756f} MFT_CATEGORY_OTHER | | // {90175d57-b7ea-4901-aeb3-933a8747756f} MFT_CATEGORY_OTHER |
| DEFINE_GUID(MFT_CATEGORY_OTHER, | | DEFINE_GUID(MFT_CATEGORY_OTHER, |
| 0x90175d57, 0xb7ea, 0x4901, 0xae, 0xb3, 0x93, 0x3a, 0x87, 0x47, 0x75, 0x6f); | | 0x90175d57, 0xb7ea, 0x4901, 0xae, 0xb3, 0x93, 0x3a, 0x87, 0x47, 0x75, 0x6f); |
| | |
| // | | // |
|
| // new version of MFT_REGISTER_TYPE_INFO for MF | | |
| // | | |
| typedef struct _MFT_REGISTER_TYPE_INFO { | | |
| GUID guidMajorType; | | |
| GUID guidSubtype; | | |
| } MFT_REGISTER_TYPE_INFO; | | |
| | |
| // | | |
| // "Flags" is for future expansion - for now must be 0 | | // "Flags" is for future expansion - for now must be 0 |
| // | | // |
| STDAPI | | STDAPI |
| MFTRegister( | | MFTRegister( |
| __in CLSID clsidMFT, | | __in CLSID clsidMFT, |
| __in GUID guidCategory, | | __in GUID guidCategory, |
| __in LPWSTR pszName, | | __in LPWSTR pszName, |
| __in UINT32 Flags, | | __in UINT32 Flags, |
| __in UINT32 cInputTypes, | | __in UINT32 cInputTypes, |
| __in_ecount_opt(cInputTypes) MFT_REGISTER_TYPE_INFO* pInputTypes, | | __in_ecount_opt(cInputTypes) MFT_REGISTER_TYPE_INFO* pInputTypes, |
| __in UINT32 cOutputTypes, | | __in UINT32 cOutputTypes, |
| __in_ecount_opt(cOutputTypes) MFT_REGISTER_TYPE_INFO* pOutputTypes, | | __in_ecount_opt(cOutputTypes) MFT_REGISTER_TYPE_INFO* pOutputTypes, |
| __in_opt IMFAttributes* pAttributes | | __in_opt IMFAttributes* pAttributes |
| ); | | ); |
| | |
| STDAPI | | STDAPI |
| MFTUnregister( | | MFTUnregister( |
| __in CLSID clsidMFT | | __in CLSID clsidMFT |
| ); | | ); |
| | |
|
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | // Register an MFT class in-process |
| | STDAPI |
| | MFTRegisterLocal( |
| | __in IClassFactory* pClassFactory, |
| | __in REFGUID guidCategory, |
| | __in LPCWSTR pszName, |
| | __in UINT32 Flags, |
| | __in UINT32 cInputTypes, |
| | __in_ecount_opt(cInputTypes)const MFT_REGISTER_TYPE_INFO* pInputTypes, |
| | __in UINT32 cOutputTypes, |
| | __in_ecount_opt(cOutputTypes)const MFT_REGISTER_TYPE_INFO* pOutputTypes |
| | ); |
| | |
| | // Unregister locally registered MFT |
| | // If pClassFactory is NULL all local MFTs are unregistered |
| | STDAPI |
| | MFTUnregisterLocal( |
| | __in_opt IClassFactory * pClassFactory |
| | ); |
| | |
| | // Register an MFT class in-process, by CLSID |
| | STDAPI |
| | MFTRegisterLocalByCLSID( |
| | __in REFCLSID clisdMFT, |
| | __in REFGUID guidCategory, |
| | __in LPCWSTR pszName, |
| | __in UINT32 Flags, |
| | __in UINT32 cInputTypes, |
| | __in_ecount_opt(cInputTypes)const MFT_REGISTER_TYPE_INFO* pInputTypes, |
| | __in UINT32 cOutputTypes, |
| | __in_ecount_opt(cOutputTypes)const MFT_REGISTER_TYPE_INFO* pOutputTypes |
| | ); |
| | |
| | // Unregister locally registered MFT by CLSID |
| | STDAPI |
| | MFTUnregisterLocalByCLSID( |
| | __in CLSID clsidMFT |
| | ); |
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| // | | // |
| // result *ppclsidMFT must be freed with CoTaskMemFree. | | // result *ppclsidMFT must be freed with CoTaskMemFree. |
| // | | // |
| STDAPI | | STDAPI |
| MFTEnum( | | MFTEnum( |
| __in GUID guidCategory, | | __in GUID guidCategory, |
| __in UINT32 Flags, | | __in UINT32 Flags, |
| __in_opt MFT_REGISTER_TYPE_INFO* pInputType, | | __in_opt MFT_REGISTER_TYPE_INFO* pInputType, |
| __in_opt MFT_REGISTER_TYPE_INFO* pOutputType, | | __in_opt MFT_REGISTER_TYPE_INFO* pOutputType, |
| __in_opt IMFAttributes* pAttributes, | | __in_opt IMFAttributes* pAttributes, |
|
| __out_ecount(*pcMFTs) CLSID** ppclsidMFT, // must be freed
with CoTaskMemFree | | __deref_out_ecount(*pcMFTs) CLSID** ppclsidMFT, // must be freed
with CoTaskMemFree |
| __out UINT32* pcMFTs | | __out UINT32* pcMFTs |
| ); | | ); |
| | |
|
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| | enum _MFT_ENUM_FLAG |
| | { |
| | MFT_ENUM_FLAG_SYNCMFT = 0x00000001, // Enumerates V1 MFTs. This is |
| | default. |
| | MFT_ENUM_FLAG_ASYNCMFT = 0x00000002, // Enumerates only software asy |
| | nc MFTs also known as V2 MFTs |
| | MFT_ENUM_FLAG_HARDWARE = 0x00000004, // Enumerates V2 hardware async |
| | MFTs |
| | MFT_ENUM_FLAG_FIELDOFUSE = 0x00000008, // Enumerates MFTs that require |
| | unlocking |
| | MFT_ENUM_FLAG_LOCALMFT = 0x00000010, // Enumerates Locally (in-proce |
| | ss) registered MFTs |
| | MFT_ENUM_FLAG_TRANSCODE_ONLY = 0x00000020, // Enumerates decoder MFTs used |
| | by transcode only |
| | MFT_ENUM_FLAG_SORTANDFILTER = 0x00000040, // Apply system local, do not u |
| | se and preferred sorting and filtering |
| | MFT_ENUM_FLAG_ALL = 0x0000003F // Enumerates all MFTs includin |
| | g SW and HW MFTs and applies filtering |
| | }; |
| | |
| | // |
| | // result *pppMFTActivate must be freed with CoTaskMemFree. Each IMFActivate poi |
| | nter inside this |
| | // buffer should be released. |
| | // |
| | |
| | STDAPI |
| | MFTEnumEx( |
| | __in GUID guidCate |
| | gory, |
| | __in UINT32 Flags, |
| | __in_opt const MFT_REGISTER_TYPE_INFO* pInputTy |
| | pe, |
| | __in_opt const MFT_REGISTER_TYPE_INFO* pOutputT |
| | ype, |
| | __deref_out_ecount(*pnumMFTActivate) IMFActivate*** pppMFTAc |
| | tivate, |
| | __out UINT32* pnumMFTA |
| | ctivate |
| | ); |
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| // | | // |
| // results *pszName, *ppInputTypes, and *ppOutputTypes must be freed with CoTask
MemFree. | | // results *pszName, *ppInputTypes, and *ppOutputTypes must be freed with CoTask
MemFree. |
| // *ppAttributes must be released. | | // *ppAttributes must be released. |
| // | | // |
| STDAPI | | STDAPI |
| MFTGetInfo( | | MFTGetInfo( |
|
| __in CLSID clsidMFT, | | __in CLSID clsidMFT, |
| __deref_out_opt LPWSTR* pszName, | | __out_opt LPWSTR* pszName, |
| __out_ecount_opt(*pcInputTypes) MFT_REGISTER_TYPE_INFO** ppInputTypes | | __deref_opt_out_ecount(*pcInputTypes) MFT_REGISTER_TYPE_INFO** ppInputTy |
| , | | pes, |
| __out_opt UINT32* pcInputTypes | | __out_opt UINT32* pcInputTy |
| , | | pes, |
| __out_ecount_opt(*pcOutputTypes) MFT_REGISTER_TYPE_INFO** ppOutputType | | __deref_opt_out_ecount(*pcOutputTypes) MFT_REGISTER_TYPE_INFO** ppOutputT |
| s, | | ypes, |
| __out_opt UINT32* pcOutputType | | __out_opt UINT32* pcOutputT |
| s, | | ypes, |
| __deref_out_opt IMFAttributes** ppAttributes | | __deref_opt_out_opt IMFAttributes** ppAttribu |
| | tes |
| | ); |
| | |
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| | // |
| | // Get the plugin control API |
| | // |
| | STDAPI |
| | MFGetPluginControl( |
| | __out IMFPluginControl **ppPluginControl |
| ); | | ); |
| | |
|
| | // |
| | // Get MFT's merit - checking that is has a valid certificate |
| | // |
| | STDAPI |
| | MFGetMFTMerit( |
| | __inout IUnknown *pMFT, |
| | __in UINT32 cbVerifier, |
| | __in_bcount(cbVerifier) const BYTE * verifier, |
| | __out DWORD *merit |
| | ); |
| | |
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| ////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// MFT Attributes GUIDs /////////////////////////
/// | | ////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// MFT Attributes GUIDs /////////////////////////
/// |
| // {53476A11-3F13-49fb-AC42-EE2733C96741} MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE {UIN
T32 (BOOL)} | | // {53476A11-3F13-49fb-AC42-EE2733C96741} MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE {UIN
T32 (BOOL)} |
| DEFINE_GUID(MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE, | | DEFINE_GUID(MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE, |
| 0x53476a11, 0x3f13, 0x49fb, 0xac, 0x42, 0xee, 0x27, 0x33, 0xc9, 0x67, 0x41); | | 0x53476a11, 0x3f13, 0x49fb, 0xac, 0x42, 0xee, 0x27, 0x33, 0xc9, 0x67, 0x41); |
| | |
| ////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Media Type GUIDs //////////////////////////// | | ////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Media Type GUIDs //////////////////////////// |
| //////////////////////////////////////////////////////////////////////////////// | | //////////////////////////////////////////////////////////////////////////////// |
| | |
| // | | // |
| // GUIDs for media types | | // GUIDs for media types |
| | |
| skipping to change at line 798 | | skipping to change at line 949 |
| // If no D3D headers have been included yet, define local versions of D3DFMT con
stants we use. | | // If no D3D headers have been included yet, define local versions of D3DFMT con
stants we use. |
| // We can't include D3D headers from this header because we need it to be compat
ible with all versions | | // We can't include D3D headers from this header because we need it to be compat
ible with all versions |
| // of D3D. | | // of D3D. |
| // | | // |
| #ifndef DIRECT3D_VERSION | | #ifndef DIRECT3D_VERSION |
| #define D3DFMT_R8G8B8 20 | | #define D3DFMT_R8G8B8 20 |
| #define D3DFMT_A8R8G8B8 21 | | #define D3DFMT_A8R8G8B8 21 |
| #define D3DFMT_X8R8G8B8 22 | | #define D3DFMT_X8R8G8B8 22 |
| #define D3DFMT_R5G6B5 23 | | #define D3DFMT_R5G6B5 23 |
| #define D3DFMT_X1R5G5B5 24 | | #define D3DFMT_X1R5G5B5 24 |
|
| | #define D3DFMT_P8 41 |
| #define LOCAL_D3DFMT_DEFINES 1 | | #define LOCAL_D3DFMT_DEFINES 1 |
| #endif | | #endif |
| | |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_Base, 0x00000000 ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_Base, 0x00000000 ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_RGB32, D3DFMT_X8R8G8B8 ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_RGB32, D3DFMT_X8R8G8B8 ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_ARGB32, D3DFMT_A8R8G8B8 ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_ARGB32, D3DFMT_A8R8G8B8 ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_RGB24, D3DFMT_R8G8B8 ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_RGB24, D3DFMT_R8G8B8 ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_RGB555, D3DFMT_X1R5G5B5 ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_RGB555, D3DFMT_X1R5G5B5 ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_RGB565, D3DFMT_R5G6B5 ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_RGB565, D3DFMT_R5G6B5 ); |
|
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_RGB8, D3DFMT_P8 ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_AI44, FCC('AI44') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_AI44, FCC('AI44') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_AYUV, FCC('AYUV') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_AYUV, FCC('AYUV') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_YUY2, FCC('YUY2') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_YUY2, FCC('YUY2') ); |
|
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_YVYU, FCC('YVYU') ); |
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_YVU9, FCC('YVU9') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_UYVY, FCC('UYVY') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_UYVY, FCC('UYVY') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_NV11, FCC('NV11') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_NV11, FCC('NV11') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_NV12, FCC('NV12') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_NV12, FCC('NV12') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_YV12, FCC('YV12') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_YV12, FCC('YV12') ); |
|
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_I420, FCC('I420') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_IYUV, FCC('IYUV') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_IYUV, FCC('IYUV') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_Y210, FCC('Y210') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_Y210, FCC('Y210') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_Y216, FCC('Y216') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_Y216, FCC('Y216') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_Y410, FCC('Y410') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_Y410, FCC('Y410') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_Y416, FCC('Y416') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_Y416, FCC('Y416') ); |
|
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_Y41P, FCC('Y41P') ); |
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_Y41T, FCC('Y41T') ); |
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_Y42T, FCC('Y42T') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_P210, FCC('P210') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_P210, FCC('P210') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_P216, FCC('P216') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_P216, FCC('P216') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_P010, FCC('P010') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_P010, FCC('P010') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_P016, FCC('P016') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_P016, FCC('P016') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_v210, FCC('v210') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_v210, FCC('v210') ); |
|
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_v216, FCC('v216') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_v410, FCC('v410') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_v410, FCC('v410') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_MP43, FCC('MP43') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_MP43, FCC('MP43') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_MP4S, FCC('MP4S') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_MP4S, FCC('MP4S') ); |
|
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_M4S2, FCC('M4S2') ); |
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_MP4V, FCC('MP4V') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_WMV1, FCC('WMV1') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_WMV1, FCC('WMV1') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_WMV2, FCC('WMV2') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_WMV2, FCC('WMV2') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_WMV3, FCC('WMV3') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_WMV3, FCC('WMV3') ); |
|
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_WVC1, FCC('WVC1') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_MSS1, FCC('MSS1') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_MSS1, FCC('MSS1') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_MSS2, FCC('MSS2') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_MSS2, FCC('MSS2') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_MPG1, FCC('MPG1') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_MPG1, FCC('MPG1') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVSL, FCC('dvsl') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVSL, FCC('dvsl') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVSD, FCC('dvsd') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVSD, FCC('dvsd') ); |
|
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVHD, FCC('dvhd') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_DV25, FCC('dv25') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_DV25, FCC('dv25') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_DV50, FCC('dv50') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_DV50, FCC('dv50') ); |
| DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVH1, FCC('dvh1') ); | | DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVH1, FCC('dvh1') ); |
|
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVC, FCC('dvc ') ); |
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_H264, FCC('H264') ); |
| | DEFINE_MEDIATYPE_GUID( MFVideoFormat_MJPG, FCC('MJPG') ); |
| | |
| // | | // |
| // undef the local D3DFMT definitions to avoid later clashes with D3D headers | | // undef the local D3DFMT definitions to avoid later clashes with D3D headers |
| // | | // |
| #ifdef LOCAL_D3DFMT_DEFINES | | #ifdef LOCAL_D3DFMT_DEFINES |
| #undef D3DFMT_R8G8B8 | | #undef D3DFMT_R8G8B8 |
| #undef D3DFMT_A8R8G8B8 | | #undef D3DFMT_A8R8G8B8 |
| #undef D3DFMT_X8R8G8B8 | | #undef D3DFMT_X8R8G8B8 |
| #undef D3DFMT_R5G6B5 | | #undef D3DFMT_R5G6B5 |
| #undef D3DFMT_X1R5G5B5 | | #undef D3DFMT_X1R5G5B5 |
|
| | #undef D3DFMT_P8 |
| #undef LOCAL_D3DFMT_DEFINES | | #undef LOCAL_D3DFMT_DEFINES |
| #endif | | #endif |
| | |
| // | | // |
| // some legacy formats that don't fit the common pattern | | // some legacy formats that don't fit the common pattern |
| // | | // |
| | |
| // {e06d8026-db46-11cf-b4d1-00805f6cbbea} MFVideoFormat_MPEG2 | | // {e06d8026-db46-11cf-b4d1-00805f6cbbea} MFVideoFormat_MPEG2 |
| DEFINE_GUID(MFVideoFormat_MPEG2, | | DEFINE_GUID(MFVideoFormat_MPEG2, |
| 0xe06d8026, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea); | | 0xe06d8026, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea); |
| | |
| skipping to change at line 877 | | skipping to change at line 1045 |
| DEFINE_MEDIATYPE_GUID( MFAudioFormat_DTS, WAVE_FORMAT_DTS ); | | DEFINE_MEDIATYPE_GUID( MFAudioFormat_DTS, WAVE_FORMAT_DTS ); |
| DEFINE_MEDIATYPE_GUID( MFAudioFormat_Dolby_AC3_SPDIF, WAVE_FORMAT_DOLBY_AC3_SP
DIF ); | | DEFINE_MEDIATYPE_GUID( MFAudioFormat_Dolby_AC3_SPDIF, WAVE_FORMAT_DOLBY_AC3_SP
DIF ); |
| DEFINE_MEDIATYPE_GUID( MFAudioFormat_DRM, WAVE_FORMAT_DRM ); | | DEFINE_MEDIATYPE_GUID( MFAudioFormat_DRM, WAVE_FORMAT_DRM ); |
| DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudioV8, WAVE_FORMAT_WMAUDIO2 ); | | DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudioV8, WAVE_FORMAT_WMAUDIO2 ); |
| DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudioV9, WAVE_FORMAT_WMAUDIO3 ); | | DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudioV9, WAVE_FORMAT_WMAUDIO3 ); |
| DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudio_Lossless, WAVE_FORMAT_WMAUDIO_LOSS
LESS ); | | DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudio_Lossless, WAVE_FORMAT_WMAUDIO_LOSS
LESS ); |
| DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMASPDIF, WAVE_FORMAT_WMASPDIF ); | | DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMASPDIF, WAVE_FORMAT_WMASPDIF ); |
| DEFINE_MEDIATYPE_GUID( MFAudioFormat_MSP1, WAVE_FORMAT_WMAVOICE9 ); | | DEFINE_MEDIATYPE_GUID( MFAudioFormat_MSP1, WAVE_FORMAT_WMAVOICE9 ); |
| DEFINE_MEDIATYPE_GUID( MFAudioFormat_MP3, WAVE_FORMAT_MPEGLAYER3 )
; | | DEFINE_MEDIATYPE_GUID( MFAudioFormat_MP3, WAVE_FORMAT_MPEGLAYER3 )
; |
| DEFINE_MEDIATYPE_GUID( MFAudioFormat_MPEG, WAVE_FORMAT_MPEG ); | | DEFINE_MEDIATYPE_GUID( MFAudioFormat_MPEG, WAVE_FORMAT_MPEG ); |
|
| | DEFINE_MEDIATYPE_GUID( MFAudioFormat_AAC, WAVE_FORMAT_MPEG_HEAAC ) |
| | ; |
| | DEFINE_MEDIATYPE_GUID( MFAudioFormat_ADTS, WAVE_FORMAT_MPEG_ADTS_AA |
| | C ); |
| | |
| | // |
| | // MPEG-4 media types |
| | // |
| | |
| | // {00000000-767a-494d-b478-f29d25dc9037} MFMPEG4Format_Base |
| | DEFINE_GUID(MFMPEG4Format_Base, |
| | 0x00000000, 0x767a, 0x494d, 0xb4, 0x78, 0xf2, 0x9d, 0x25, 0xdc, 0x90, 0x37); |
| | |
| ////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Media Type Attributes GUIDs ///////////////////
///////// | | ////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Media Type Attributes GUIDs ///////////////////
///////// |
| //////////////////////////////////////////////////////////////////////////////// | | //////////////////////////////////////////////////////////////////////////////// |
| | |
| // | | // |
| // GUIDs for IMFMediaType properties - prefix 'MF_MT_' - basic prop type in {}, | | // GUIDs for IMFMediaType properties - prefix 'MF_MT_' - basic prop type in {}, |
| // with type to cast to in (). | | // with type to cast to in (). |
| // | | // |
| | |
| // | | // |
| | |
| skipping to change at line 1004 | | skipping to change at line 1182 |
| // a WAVEFORMATEXTENSIBLE when converting to a legacy type. It is set by the WAV
EFORMATEX->IMFMediaType | | // a WAVEFORMATEXTENSIBLE when converting to a legacy type. It is set by the WAV
EFORMATEX->IMFMediaType |
| // conversion routines when the original format block is a non-extensible WAVEFO
RMATEX. | | // conversion routines when the original format block is a non-extensible WAVEFO
RMATEX. |
| // | | // |
| // This preference can be overridden and does not guarantee that the type can be
correctly expressed | | // This preference can be overridden and does not guarantee that the type can be
correctly expressed |
| // by a non-extensible type. | | // by a non-extensible type. |
| // | | // |
| // {a901aaba-e037-458a-bdf6-545be2074042} MF_MT_AUDIO_PREFER_WAVEFORMATEX
{UINT32 (BOOL)} | | // {a901aaba-e037-458a-bdf6-545be2074042} MF_MT_AUDIO_PREFER_WAVEFORMATEX
{UINT32 (BOOL)} |
| DEFINE_GUID(MF_MT_AUDIO_PREFER_WAVEFORMATEX, | | DEFINE_GUID(MF_MT_AUDIO_PREFER_WAVEFORMATEX, |
| 0xa901aaba, 0xe037, 0x458a, 0xbd, 0xf6, 0x54, 0x5b, 0xe2, 0x07, 0x40, 0x42); | | 0xa901aaba, 0xe037, 0x458a, 0xbd, 0xf6, 0x54, 0x5b, 0xe2, 0x07, 0x40, 0x42); |
| | |
|
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | // |
| | // AUDIO - AAC extra data |
| | // |
| | |
| | // {BFBABE79-7434-4d1c-94F0-72A3B9E17188} MF_MT_AAC_PAYLOAD_TYPE {UINT32} |
| | DEFINE_GUID(MF_MT_AAC_PAYLOAD_TYPE, |
| | 0xbfbabe79, 0x7434, 0x4d1c, 0x94, 0xf0, 0x72, 0xa3, 0xb9, 0xe1, 0x71, 0x88); |
| | |
| | // {7632F0E6-9538-4d61-ACDA-EA29C8C14456} MF_MT_AAC_AUDIO_PROFILE_LEVEL_INDICATI |
| | ON {UINT32} |
| | DEFINE_GUID(MF_MT_AAC_AUDIO_PROFILE_LEVEL_INDICATION, |
| | 0x7632f0e6, 0x9538, 0x4d61, 0xac, 0xda, 0xea, 0x29, 0xc8, 0xc1, 0x44, 0x56); |
| | |
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| // | | // |
| // VIDEO core data | | // VIDEO core data |
| // | | // |
| | |
| // {1652c33d-d6b2-4012-b834-72030849a37d} MF_MT_FRAME_SIZE {UIN
T64 (HI32(Width),LO32(Height))} | | // {1652c33d-d6b2-4012-b834-72030849a37d} MF_MT_FRAME_SIZE {UIN
T64 (HI32(Width),LO32(Height))} |
| DEFINE_GUID(MF_MT_FRAME_SIZE, | | DEFINE_GUID(MF_MT_FRAME_SIZE, |
| 0x1652c33d, 0xd6b2, 0x4012, 0xb8, 0x34, 0x72, 0x03, 0x08, 0x49, 0xa3, 0x7d); | | 0x1652c33d, 0xd6b2, 0x4012, 0xb8, 0x34, 0x72, 0x03, 0x08, 0x49, 0xa3, 0x7d); |
| | |
| // {c459a2e8-3d2c-4e44-b132-fee5156c7bb0} MF_MT_FRAME_RATE {UIN
T64 (HI32(Numerator),LO32(Denominator))} | | // {c459a2e8-3d2c-4e44-b132-fee5156c7bb0} MF_MT_FRAME_RATE {UIN
T64 (HI32(Numerator),LO32(Denominator))} |
| DEFINE_GUID(MF_MT_FRAME_RATE, | | DEFINE_GUID(MF_MT_FRAME_RATE, |
| | |
| skipping to change at line 1196 | | skipping to change at line 1389 |
| 0xcd1f470d, 0x1f04, 0x4fe0, 0xbf, 0xb9, 0xd0, 0x7a, 0xe0, 0x38, 0x6a, 0xd8); | | 0xcd1f470d, 0x1f04, 0x4fe0, 0xbf, 0xb9, 0xd0, 0x7a, 0xe0, 0x38, 0x6a, 0xd8); |
| | |
| // {41402d9d-7b57-43c6-b129-2cb997f15009} MF_MT_DV_VAUX_SRC_PACK {UIN
T32} | | // {41402d9d-7b57-43c6-b129-2cb997f15009} MF_MT_DV_VAUX_SRC_PACK {UIN
T32} |
| DEFINE_GUID(MF_MT_DV_VAUX_SRC_PACK, | | DEFINE_GUID(MF_MT_DV_VAUX_SRC_PACK, |
| 0x41402d9d, 0x7b57, 0x43c6, 0xb1, 0x29, 0x2c, 0xb9, 0x97, 0xf1, 0x50, 0x09); | | 0x41402d9d, 0x7b57, 0x43c6, 0xb1, 0x29, 0x2c, 0xb9, 0x97, 0xf1, 0x50, 0x09); |
| | |
| // {2f84e1c4-0da1-4788-938e-0dfbfbb34b48} MF_MT_DV_VAUX_CTRL_PACK {UIN
T32} | | // {2f84e1c4-0da1-4788-938e-0dfbfbb34b48} MF_MT_DV_VAUX_CTRL_PACK {UIN
T32} |
| DEFINE_GUID(MF_MT_DV_VAUX_CTRL_PACK, | | DEFINE_GUID(MF_MT_DV_VAUX_CTRL_PACK, |
| 0x2f84e1c4, 0x0da1, 0x4788, 0x93, 0x8e, 0x0d, 0xfb, 0xfb, 0xb3, 0x4b, 0x48); | | 0x2f84e1c4, 0x0da1, 0x4788, 0x93, 0x8e, 0x0d, 0xfb, 0xfb, 0xb3, 0x4b, 0x48); |
| | |
|
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | // |
| | // ARBITRARY |
| | // |
| | |
| | // |
| | // MT_ARBITRARY_HEADER stores information about the format of an arbitrary media |
| | type |
| | // |
| | typedef struct _MT_ARBITRARY_HEADER |
| | { |
| | GUID majortype; |
| | GUID subtype; |
| | BOOL bFixedSizeSamples; |
| | BOOL bTemporalCompression; |
| | ULONG lSampleSize; |
| | GUID formattype; |
| | } |
| | MT_ARBITRARY_HEADER; |
| | |
| | // {9E6BD6F5-0109-4f95-84AC-9309153A19FC} MF_MT_ARBITRARY_HEADER {MT_ |
| | ARBITRARY_HEADER} |
| | DEFINE_GUID(MF_MT_ARBITRARY_HEADER, |
| | 0x9e6bd6f5, 0x109, 0x4f95, 0x84, 0xac, 0x93, 0x9, 0x15, 0x3a, 0x19, 0xfc ); |
| | |
| | // {5A75B249-0D7D-49a1-A1C3-E0D87F0CADE5} MF_MT_ARBITRARY_FORMAT {Blo |
| | b} |
| | DEFINE_GUID(MF_MT_ARBITRARY_FORMAT, |
| | 0x5a75b249, 0xd7d, 0x49a1, 0xa1, 0xc3, 0xe0, 0xd8, 0x7f, 0xc, 0xad, 0xe5); |
| | |
| | // |
| | // IMAGE |
| | // |
| | // {ED062CF4-E34E-4922-BE99-934032133D7C} MF_MT_IMAGE_LOSS_TOLERANT {UIN |
| | T32 (BOOL)} |
| | DEFINE_GUID(MF_MT_IMAGE_LOSS_TOLERANT, |
| | 0xed062cf4, 0xe34e, 0x4922, 0xbe, 0x99, 0x93, 0x40, 0x32, 0x13, 0x3d, 0x7c); |
| | |
| | // |
| | // MPEG-4 Media Type Attributes |
| | // |
| | // {261E9D83-9529-4B8F-A111-8B9C950A81A9} MF_MT_MPEG4_SAMPLE_DESCRIPTION {BL |
| | OB} |
| | DEFINE_GUID(MF_MT_MPEG4_SAMPLE_DESCRIPTION, |
| | 0x261e9d83, 0x9529, 0x4b8f, 0xa1, 0x11, 0x8b, 0x9c, 0x95, 0x0a, 0x81, 0xa9); |
| | |
| | // {9aa7e155-b64a-4c1d-a500-455d600b6560} MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY {UI |
| | NT32} |
| | DEFINE_GUID(MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY, |
| | 0x9aa7e155, 0xb64a, 0x4c1d, 0xa5, 0x00, 0x45, 0x5d, 0x60, 0x0b, 0x65, 0x60); |
| | |
| | // |
| | // Save original format information for AVI and WAV files |
| | // |
| | // {d7be3fe0-2bc7-492d-b843-61a1919b70c3} MF_MT_ORIGINAL_4CC (UI |
| | NT32) |
| | DEFINE_GUID(MF_MT_ORIGINAL_4CC, |
| | 0xd7be3fe0, 0x2bc7, 0x492d, 0xb8, 0x43, 0x61, 0xa1, 0x91, 0x9b, 0x70, 0xc3); |
| | |
| | // {8cbbc843-9fd9-49c2-882f-a72586c408ad} MF_MT_ORIGINAL_WAVE_FORMAT_TAG (UI |
| | NT32) |
| | DEFINE_GUID(MF_MT_ORIGINAL_WAVE_FORMAT_TAG, |
| | 0x8cbbc843, 0x9fd9, 0x49c2, 0x88, 0x2f, 0xa7, 0x25, 0x86, 0xc4, 0x08, 0xad); |
| | |
| | // |
| | // Video Capture Media Type Attributes |
| | // |
| | |
| | // {D2E7558C-DC1F-403f-9A72-D28BB1EB3B5E} MF_MT_FRAME_RATE_RANGE_MIN {UIN |
| | T64 (HI32(Numerator),LO32(Denominator))} |
| | DEFINE_GUID(MF_MT_FRAME_RATE_RANGE_MIN, |
| | 0xd2e7558c, 0xdc1f, 0x403f, 0x9a, 0x72, 0xd2, 0x8b, 0xb1, 0xeb, 0x3b, 0x5e); |
| | |
| | // {E3371D41-B4CF-4a05-BD4E-20B88BB2C4D6} MF_MT_FRAME_RATE_RANGE_MAX {UIN |
| | T64 (HI32(Numerator),LO32(Denominator))} |
| | DEFINE_GUID(MF_MT_FRAME_RATE_RANGE_MAX, |
| | 0xe3371d41, 0xb4cf, 0x4a05, 0xbd, 0x4e, 0x20, 0xb8, 0x8b, 0xb2, 0xc4, 0xd6); |
| | |
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| //////////////////////////////////////////////////////////////////////////////// | | //////////////////////////////////////////////////////////////////////////////// |
| /////////////////////////////// Media Type GUIDs ////////////////////////////// | | /////////////////////////////// Media Type GUIDs ////////////////////////////// |
| //////////////////////////////////////////////////////////////////////////////// | | //////////////////////////////////////////////////////////////////////////////// |
| | |
| // | | // |
| // Major types | | // Major types |
| // | | // |
| DEFINE_GUID(MFMediaType_Default, | | DEFINE_GUID(MFMediaType_Default, |
| 0x81A412E6, 0x8103, 0x4B06, 0x85, 0x7F, 0x18, 0x62, 0x78, 0x10, 0x24, 0xAC); | | 0x81A412E6, 0x8103, 0x4B06, 0x85, 0x7F, 0x18, 0x62, 0x78, 0x10, 0x24, 0xAC); |
| DEFINE_GUID(MFMediaType_Audio, | | DEFINE_GUID(MFMediaType_Audio, |
| | |
| skipping to change at line 1480 | | skipping to change at line 1743 |
| __in IMFMediaType* pWrap, | | __in IMFMediaType* pWrap, |
| __out IMFMediaType ** ppOrig | | __out IMFMediaType ** ppOrig |
| ); | | ); |
| | |
| // | | // |
| // MFCreateVideoMediaType | | // MFCreateVideoMediaType |
| // | | // |
| | |
| #ifdef _KSMEDIA_ | | #ifdef _KSMEDIA_ |
| STDAPI MFCreateVideoMediaTypeFromVideoInfoHeader( | | STDAPI MFCreateVideoMediaTypeFromVideoInfoHeader( |
|
| const KS_VIDEOINFOHEADER* pVideoInfoHeader, | | __in const KS_VIDEOINFOHEADER* pVideoInfoHeader, |
| DWORD cbVideoInfoHeader, | | DWORD cbVideoInfoHeader, |
| DWORD dwPixelAspectRatioX, | | DWORD dwPixelAspectRatioX, |
| DWORD dwPixelAspectRatioY, | | DWORD dwPixelAspectRatioY, |
| MFVideoInterlaceMode InterlaceMode, | | MFVideoInterlaceMode InterlaceMode, |
| QWORD VideoFlags, | | QWORD VideoFlags, |
|
| const GUID * pSubtype, | | __in_opt const GUID * pSubtype, |
| IMFVideoMediaType** ppIVideoMediaType | | __out IMFVideoMediaType** ppIVideoMediaType |
| ); | | ); |
| | |
| STDAPI MFCreateVideoMediaTypeFromVideoInfoHeader2( | | STDAPI MFCreateVideoMediaTypeFromVideoInfoHeader2( |
|
| const KS_VIDEOINFOHEADER2* pVideoInfoHeader, | | __in const KS_VIDEOINFOHEADER2* pVideoInfoHeader, |
| DWORD cbVideoInfoHeader, | | DWORD cbVideoInfoHeader, |
| QWORD AdditionalVideoFlags, | | QWORD AdditionalVideoFlags, |
|
| const GUID * pSubtype, | | __in_opt const GUID * pSubtype, |
| IMFVideoMediaType** ppIVideoMediaType | | __out IMFVideoMediaType** ppIVideoMediaType |
| ); | | ); |
| | |
| #endif | | #endif |
| | |
| STDAPI MFCreateVideoMediaType( | | STDAPI MFCreateVideoMediaType( |
|
| const MFVIDEOFORMAT* pVideoFormat, | | __in const MFVIDEOFORMAT* pVideoFormat, |
| IMFVideoMediaType** ppIVideoMediaType | | __out IMFVideoMediaType** ppIVideoMediaType |
| ); | | ); |
| | |
| STDAPI MFCreateVideoMediaTypeFromSubtype( | | STDAPI MFCreateVideoMediaTypeFromSubtype( |
| __in const GUID * pAMSubtype, | | __in const GUID * pAMSubtype, |
| __out IMFVideoMediaType **ppIVideoMediaType | | __out IMFVideoMediaType **ppIVideoMediaType |
| ); | | ); |
| | |
| STDAPI_(BOOL) | | STDAPI_(BOOL) |
| MFIsFormatYUV( | | MFIsFormatYUV( |
| DWORD Format | | DWORD Format |
| ); | | ); |
| | |
| // | | // |
| // These depend on BITMAPINFOHEADER being defined | | // These depend on BITMAPINFOHEADER being defined |
| // | | // |
| STDAPI MFCreateVideoMediaTypeFromBitMapInfoHeader( | | STDAPI MFCreateVideoMediaTypeFromBitMapInfoHeader( |
|
| const BITMAPINFOHEADER* pbmihBitMapInfoHeader, | | __in const BITMAPINFOHEADER* pbmihBitMapInfoHeader, |
| DWORD dwPixelAspectRatioX, | | DWORD dwPixelAspectRatioX, |
| DWORD dwPixelAspectRatioY, | | DWORD dwPixelAspectRatioY, |
| MFVideoInterlaceMode InterlaceMode, | | MFVideoInterlaceMode InterlaceMode, |
| QWORD VideoFlags, | | QWORD VideoFlags, |
| QWORD qwFramesPerSecondNumerator, | | QWORD qwFramesPerSecondNumerator, |
| QWORD qwFramesPerSecondDenominator, | | QWORD qwFramesPerSecondDenominator, |
| DWORD dwMaxBitRate, | | DWORD dwMaxBitRate, |
|
| IMFVideoMediaType** ppIVideoMediaType | | __out IMFVideoMediaType** ppIVideoMediaType |
| ); | | ); |
| | |
| STDAPI MFGetStrideForBitmapInfoHeader( | | STDAPI MFGetStrideForBitmapInfoHeader( |
| DWORD format, | | DWORD format, |
| DWORD dwWidth, | | DWORD dwWidth, |
|
| LONG* pStride | | __out LONG* pStride |
| ); | | ); |
| | |
| STDAPI MFGetPlaneSize( | | STDAPI MFGetPlaneSize( |
| DWORD format, | | DWORD format, |
| DWORD dwWidth, | | DWORD dwWidth, |
| DWORD dwHeight, | | DWORD dwHeight, |
|
| DWORD* pdwPlaneSize | | __out DWORD* pdwPlaneSize |
| | ); |
| | |
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | // |
| | // MFCreateVideoMediaTypeFromBitMapInfoHeaderEx |
| | // |
| | |
| | STDAPI MFCreateVideoMediaTypeFromBitMapInfoHeaderEx( |
| | __in_bcount(cbBitMapInfoHeader) const BITMAPINFOHEADER* pbmihBitMapInfoHeade |
| | r, |
| | __in UINT32 cbBitMapInfoHeader, |
| | DWORD dwPixelAspectRatioX, |
| | DWORD dwPixelAspectRatioY, |
| | MFVideoInterlaceMode InterlaceMode, |
| | QWORD VideoFlags, |
| | DWORD dwFramesPerSecondNumerator, |
| | DWORD dwFramesPerSecondDenominator, |
| | DWORD dwMaxBitRate, |
| | __out IMFVideoMediaType** ppIVideoMediaType |
| ); | | ); |
|
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| // | | // |
| // MFCreateMediaTypeFromRepresentation | | // MFCreateMediaTypeFromRepresentation |
| // | | // |
| | |
| STDAPI MFCreateMediaTypeFromRepresentation( | | STDAPI MFCreateMediaTypeFromRepresentation( |
| GUID guidRepresentation, | | GUID guidRepresentation, |
|
| LPVOID pvRepresentation, | | __in LPVOID pvRepresentation, |
| IMFMediaType** ppIMediaType | | __out IMFMediaType** ppIMediaType |
| ); | | ); |
| | |
| // | | // |
| // MFCreateAudioMediaType | | // MFCreateAudioMediaType |
| // | | // |
| | |
| STDAPI | | STDAPI |
| MFCreateAudioMediaType( | | MFCreateAudioMediaType( |
| __in const WAVEFORMATEX* pAudioFormat, | | __in const WAVEFORMATEX* pAudioFormat, |
| __out IMFAudioMediaType** ppIAudioMediaType | | __out IMFAudioMediaType** ppIAudioMediaType |
| | |
| skipping to change at line 1585 | | skipping to change at line 1867 |
| STDAPI | | STDAPI |
| MFInitVideoFormat_RGB( | | MFInitVideoFormat_RGB( |
| __in MFVIDEOFORMAT* pVideoFormat, | | __in MFVIDEOFORMAT* pVideoFormat, |
| __in DWORD dwWidth, | | __in DWORD dwWidth, |
| __in DWORD dwHeight, | | __in DWORD dwHeight, |
| __in DWORD D3Dfmt /* 0 indicates sRGB */ | | __in DWORD D3Dfmt /* 0 indicates sRGB */ |
| ); | | ); |
| | |
| STDAPI | | STDAPI |
| MFConvertColorInfoToDXVA( | | MFConvertColorInfoToDXVA( |
|
| DWORD* pdwToDXVA, | | __out DWORD* pdwToDXVA, |
| const MFVIDEOFORMAT* pFromFormat | | __in const MFVIDEOFORMAT* pFromFormat |
| ); | | ); |
| STDAPI | | STDAPI |
| MFConvertColorInfoFromDXVA( | | MFConvertColorInfoFromDXVA( |
|
| MFVIDEOFORMAT* pToFormat, | | __inout MFVIDEOFORMAT* pToFormat, |
| DWORD dwFromDXVA | | __in DWORD dwFromDXVA |
| ); | | ); |
| | |
| // | | // |
| // Optimized stride copy function | | // Optimized stride copy function |
| // | | // |
| STDAPI MFCopyImage( | | STDAPI MFCopyImage( |
|
| BYTE* pDest, | | __out_bcount(abs(lDestStride) * dwLines) BYTE* pDest, |
| LONG lDestStride, | | LONG lDestStride, |
|
| const BYTE* pSrc, | | __in_bcount(abs(lSrcStride) * dwLines) const BYTE* pSrc, |
| LONG lSrcStride, | | LONG lSrcStride, |
|
| DWORD dwWidthInBytes, | | __out_range(<=, min(abs(lSrcStride), abs(lDestStride))) DWORD dwWidthInByte
s, |
| DWORD dwLines | | DWORD dwLines |
| ); | | ); |
| | |
| STDAPI MFConvertFromFP16Array( | | STDAPI MFConvertFromFP16Array( |
|
| float* pDest, | | __out_ecount(dwCount) float* pDest, |
| const WORD* pSrc, | | __in_ecount(dwCount) const WORD* pSrc, |
| DWORD dwCount | | DWORD dwCount |
| ); | | ); |
| | |
| STDAPI MFConvertToFP16Array( | | STDAPI MFConvertToFP16Array( |
|
| WORD* pDest, | | __out_ecount(dwCount) WORD* pDest, |
| const float* pSrc, | | __in_ecount(dwCount) const float* pSrc, |
| DWORD dwCount | | DWORD dwCount |
| ); | | ); |
| | |
| ////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Attributes Utility functions //////////////////
////////// | | ////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Attributes Utility functions //////////////////
////////// |
| //////////////////////////////////////////////////////////////////////////////// | | //////////////////////////////////////////////////////////////////////////////// |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| | |
| // | | // |
| // IMFAttributes inline UTILITY FUNCTIONS - used for IMFMediaType as well | | // IMFAttributes inline UTILITY FUNCTIONS - used for IMFMediaType as well |
| | |
| skipping to change at line 1649 | | skipping to change at line 1931 |
| | |
| inline | | inline |
| UINT64 | | UINT64 |
| Pack2UINT32AsUINT64(UINT32 unHigh, UINT32 unLow) | | Pack2UINT32AsUINT64(UINT32 unHigh, UINT32 unLow) |
| { | | { |
| return ((UINT64)unHigh << 32) | unLow; | | return ((UINT64)unHigh << 32) | unLow; |
| } | | } |
| | |
| inline | | inline |
| void | | void |
|
| Unpack2UINT32AsUINT64(UINT64 unPacked, UINT32* punHigh, UINT32* punLow) | | Unpack2UINT32AsUINT64(UINT64 unPacked, __out UINT32* punHigh, __out UINT32* punL
ow) |
| { | | { |
| *punHigh = HI32(unPacked); | | *punHigh = HI32(unPacked); |
| *punLow = LO32(unPacked); | | *punLow = LO32(unPacked); |
| } | | } |
| | |
| inline | | inline |
| UINT64 | | UINT64 |
| PackSize(UINT32 unWidth, UINT32 unHeight) | | PackSize(UINT32 unWidth, UINT32 unHeight) |
| { | | { |
| return Pack2UINT32AsUINT64(unWidth, unHeight); | | return Pack2UINT32AsUINT64(unWidth, unHeight); |
| } | | } |
| | |
| inline | | inline |
| void | | void |
|
| UnpackSize(UINT64 unPacked, UINT32* punWidth, UINT32* punHeight) | | UnpackSize(UINT64 unPacked, __out UINT32* punWidth, __out UINT32* punHeight) |
| { | | { |
| Unpack2UINT32AsUINT64(unPacked, punWidth, punHeight); | | Unpack2UINT32AsUINT64(unPacked, punWidth, punHeight); |
| } | | } |
| | |
| inline | | inline |
| UINT64 | | UINT64 |
| PackRatio(INT32 nNumerator, UINT32 unDenominator) | | PackRatio(INT32 nNumerator, UINT32 unDenominator) |
| { | | { |
| return Pack2UINT32AsUINT64((UINT32)nNumerator, unDenominator); | | return Pack2UINT32AsUINT64((UINT32)nNumerator, unDenominator); |
| } | | } |
| | |
| inline | | inline |
| void | | void |
|
| UnpackRatio(UINT64 unPacked, INT32* pnNumerator, UINT32* punDenominator) | | UnpackRatio(UINT64 unPacked, __out INT32* pnNumerator, __out UINT32* punDenomina
tor) |
| { | | { |
| Unpack2UINT32AsUINT64(unPacked, (UINT32*)pnNumerator, punDenominator); | | Unpack2UINT32AsUINT64(unPacked, (UINT32*)pnNumerator, punDenominator); |
| } | | } |
| | |
| // | | // |
| // "failsafe" inline get methods - return the stored value or return a default | | // "failsafe" inline get methods - return the stored value or return a default |
| // | | // |
| inline | | inline |
| UINT32 | | UINT32 |
| MFGetAttributeUINT32( | | MFGetAttributeUINT32( |
| | |
| skipping to change at line 1740 | | skipping to change at line 2022 |
| | |
| // | | // |
| // helpers for getting/setting ratios and sizes | | // helpers for getting/setting ratios and sizes |
| // | | // |
| | |
| inline | | inline |
| HRESULT | | HRESULT |
| MFGetAttribute2UINT32asUINT64( | | MFGetAttribute2UINT32asUINT64( |
| IMFAttributes* pAttributes, | | IMFAttributes* pAttributes, |
| REFGUID guidKey, | | REFGUID guidKey, |
|
| UINT32* punHigh32, | | __out UINT32* punHigh32, |
| UINT32* punLow32 | | __out UINT32* punLow32 |
| ) | | ) |
| { | | { |
| UINT64 unPacked; | | UINT64 unPacked; |
| HRESULT hr = S_OK; | | HRESULT hr = S_OK; |
| | |
| hr = pAttributes->GetUINT64(guidKey, &unPacked); | | hr = pAttributes->GetUINT64(guidKey, &unPacked); |
| if (FAILED(hr)) { | | if (FAILED(hr)) { |
| return hr; | | return hr; |
| } | | } |
| Unpack2UINT32AsUINT64(unPacked, punHigh32, punLow32); | | Unpack2UINT32AsUINT64(unPacked, punHigh32, punLow32); |
| | |
| skipping to change at line 1773 | | skipping to change at line 2055 |
| ) | | ) |
| { | | { |
| return pAttributes->SetUINT64(guidKey, Pack2UINT32AsUINT64(unHigh32, unLow32
)); | | return pAttributes->SetUINT64(guidKey, Pack2UINT32AsUINT64(unHigh32, unLow32
)); |
| } | | } |
| | |
| inline | | inline |
| HRESULT | | HRESULT |
| MFGetAttributeRatio( | | MFGetAttributeRatio( |
| IMFAttributes* pAttributes, | | IMFAttributes* pAttributes, |
| REFGUID guidKey, | | REFGUID guidKey, |
|
| UINT32* punNumerator, | | __out UINT32* punNumerator, |
| UINT32* punDenominator | | __out UINT32* punDenominator |
| ) | | ) |
| { | | { |
| return MFGetAttribute2UINT32asUINT64(pAttributes, guidKey, punNumerator, pun
Denominator); | | return MFGetAttribute2UINT32asUINT64(pAttributes, guidKey, punNumerator, pun
Denominator); |
| } | | } |
| | |
| inline | | inline |
| HRESULT | | HRESULT |
| MFGetAttributeSize( | | MFGetAttributeSize( |
| IMFAttributes* pAttributes, | | IMFAttributes* pAttributes, |
| REFGUID guidKey, | | REFGUID guidKey, |
|
| UINT32* punWidth, | | __out UINT32* punWidth, |
| UINT32* punHeight | | __out UINT32* punHeight |
| ) | | ) |
| { | | { |
| return MFGetAttribute2UINT32asUINT64(pAttributes, guidKey, punWidth, punHeig
ht); | | return MFGetAttribute2UINT32asUINT64(pAttributes, guidKey, punWidth, punHeig
ht); |
| } | | } |
| | |
| inline | | inline |
| HRESULT | | HRESULT |
| MFSetAttributeRatio( | | MFSetAttributeRatio( |
| IMFAttributes* pAttributes, | | IMFAttributes* pAttributes, |
| REFGUID guidKey, | | REFGUID guidKey, |
| | |
| skipping to change at line 1832 | | skipping to change at line 2114 |
| // Heap alloc/free | | // Heap alloc/free |
| // | | // |
| typedef enum _EAllocationType | | typedef enum _EAllocationType |
| { | | { |
| eAllocationTypeDynamic, | | eAllocationTypeDynamic, |
| eAllocationTypeRT, | | eAllocationTypeRT, |
| eAllocationTypePageable, | | eAllocationTypePageable, |
| eAllocationTypeIgnore | | eAllocationTypeIgnore |
| } EAllocationType; | | } EAllocationType; |
| | |
|
| EXTERN_C void* MFHeapAlloc( size_t nSize, | | EXTERN_C void* WINAPI MFHeapAlloc( size_t nSize, |
| ULONG dwFlags, | | ULONG dwFlags, |
| __in_opt char *pszFile, | | __in_opt char *pszFile, |
| int line, | | int line, |
| EAllocationType eat); | | EAllocationType eat); |
|
| EXTERN_C void MFHeapFree( void * pv ); | | EXTERN_C void WINAPI MFHeapFree( void * pv ); |
| | |
| /////////////////////////////// Collection //////////////////////////// | | /////////////////////////////// Collection //////////////////////////// |
| //////////////////////////////////////////////////////////////////////////////// | | //////////////////////////////////////////////////////////////////////////////// |
| | |
| // | | // |
| // Instantiates the MF-provided IMFCollection implementation | | // Instantiates the MF-provided IMFCollection implementation |
| // | | // |
| STDAPI MFCreateCollection( | | STDAPI MFCreateCollection( |
|
| __deref_out IMFCollection **ppIMFCollection ); | | __out IMFCollection **ppIMFCollection ); |
| | |
| ////////////////////////// SourceResolver //////////////////////////// | | ////////////////////////// SourceResolver //////////////////////////// |
| //////////////////////////////////////////////////////////////////////////////// | | //////////////////////////////////////////////////////////////////////////////// |
| DEFINE_GUID(CLSID_MFSourceResolver, | | DEFINE_GUID(CLSID_MFSourceResolver, |
| 0x90eab60f, | | 0x90eab60f, |
| 0xe43a, | | 0xe43a, |
| 0x4188, | | 0x4188, |
| 0xbc, 0xc4, 0xe4, 0x7f, 0xdf, 0x04, 0x86, 0x8c); | | 0xbc, 0xc4, 0xe4, 0x7f, 0xdf, 0x04, 0x86, 0x8c); |
| | |
|
| | #if (WINVER >= _WIN32_WINNT_WIN7) |
| | // Return (a * b + d) / c |
| | // Returns _I64_MAX or LLONG_MIN on failure or _I64_MAX if mplat.dll is not ava |
| | ilable |
| | LONGLONG WINAPI MFllMulDiv(LONGLONG a, LONGLONG b, LONGLONG c, LONGLONG d); |
| | #endif // (WINVER >= _WIN32_WINNT_WIN7) |
| | |
| #if defined(__cplusplus) | | #if defined(__cplusplus) |
| } | | } |
| #endif | | #endif |
| | |
| #endif //#if !defined(__MFAPI_H__) | | #endif //#if !defined(__MFAPI_H__) |
| | |
| End of changes. 74 change blocks. |
| 92 lines changed or deleted | | 411 lines changed or added |
|