Module: wine Branch: master Commit: a0989060190a6e875483b249586a3c0840757c88 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a0989060190a6e875483b24958...
Author: Alistair Leslie-Hughes leslie_alistair@hotmail.com Date: Wed Sep 6 07:38:49 2017 +0000
include: Add interfaces IMFMediaTypeHandler, IMFStreamDescriptor.
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
include/mfidl.idl | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+)
diff --git a/include/mfidl.idl b/include/mfidl.idl index 3c33806..b0fadba 100644 --- a/include/mfidl.idl +++ b/include/mfidl.idl @@ -164,6 +164,54 @@ interface IMFSourceResolver : IUnknown [local] HRESULT CanceObjectCreation([in] IUnknown *cancel_cookie); }
+[ + object, + uuid(e93dcf6c-4b07-4e1e-8123-aa16ed6eadf5) +] +interface IMFMediaTypeHandler : IUnknown +{ + [local] + HRESULT IsMediaTypeSupported([in] IMFMediaType *in_type, [out] IMFMediaType **out_type); + + [call_as(IsMediaTypeSupported)] + HRESULT RemoteIsMediaTypeSupported([in, size_is(size)] BYTE *data, [in] DWORD size, + [out, size_is(, *match_count)] BYTE **match, [out] DWORD *match_count); + + HRESULT GetMediaTypeCount([out] DWORD *count); + + [local] + HRESULT GetMediaTypeByIndex([in] DWORD index, [out] IMFMediaType **type); + + [call_as(GetMediaTypeByIndex)] + HRESULT RemoteGetMediaTypeByIndex([in] DWORD index, [out, size_is(, *count)] BYTE **data, + [out] DWORD *count); + + [local] + HRESULT SetCurrentMediaType([in] IMFMediaType *type); + + [call_as(SetCurrentMediaType)] + HRESULT RemoteSetCurrentMediaType([in, size_is(count)] BYTE *data, [in] DWORD count); + + [local] + HRESULT GetCurrentMediaType([out] IMFMediaType **type); + + [call_as(GetCurrentMediaType)] + HRESULT RemoteGetCurrentMediaType([out, size_is(, *count)] BYTE **data, [out] DWORD *count); + + HRESULT GetMajorType([out] GUID *type); +} + +[ + object, + uuid(56c03d9c-9dbb-45f5-ab4b-d80f47c05938) +] +interface IMFStreamDescriptor : IMFAttributes +{ + HRESULT GetStreamIdentifier([out] DWORD *identifier); + + HRESULT GetMediaTypeHandler([out] IMFMediaTypeHandler **handler); +} + cpp_quote("HRESULT WINAPI MFCreateMediaSession(IMFAttributes *config, IMFMediaSession **session);") cpp_quote("HRESULT WINAPI MFCreateSourceResolver(IMFSourceResolver **resolver);") cpp_quote("HRESULT WINAPI MFCreateTopology(IMFTopology **topology);")