Module: wine Branch: master Commit: a0989060190a6e875483b249586a3c0840757c88 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a0989060190a6e875483b24958... Author: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Date: Wed Sep 6 07:38:49 2017 +0000 include: Add interfaces IMFMediaTypeHandler, IMFStreamDescriptor. Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Signed-off-by: Alexandre Julliard <julliard(a)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);")