[PATCH 2/3] include: Add interfaces IMFMediaTypeHandler, IMFStreamDescriptor

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Wed Sep 6 02:38:49 CDT 2017


Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
 include/mfidl.idl | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/include/mfidl.idl b/include/mfidl.idl
index 3c33806235..c9d1c10860 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);")
-- 
2.14.1




More information about the wine-patches mailing list