Nikolay Sivov : include: Added IMFSourceResolver definition.

Alexandre Julliard julliard at winehq.org
Tue May 30 16:05:13 CDT 2017


Module: wine
Branch: master
Commit: 008a2fa08eee69e252d3c7ccbc7219afeb099971
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=008a2fa08eee69e252d3c7ccbc7219afeb099971

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Sun May 28 14:42:47 2017 +0300

include: Added IMFSourceResolver definition.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/mfidl.idl | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/include/mfidl.idl b/include/mfidl.idl
index 3431260..2002ad3 100644
--- a/include/mfidl.idl
+++ b/include/mfidl.idl
@@ -38,6 +38,13 @@ typedef enum _MFCLOCK_STATE
     MFCLOCK_STATE_PAUSED
 } MFCLOCK_STATE;
 
+typedef enum MF_OBJECT_TYPE
+{
+    MF_OBJECT_MEDIASOURCE,
+    MF_OBJECT_BYTESTREAM,
+    MF_OBJECT_INVALID
+} MF_OBJECT_TYPE;
+
 typedef struct _MFCLOCK_PROPERTIES
 {
     unsigned __int64 qwCorrelationRate;
@@ -124,3 +131,34 @@ interface IMFMediaSession : IMFMediaEventGenerator
     HRESULT GetSessionCapabilities([out] DWORD *caps);
     HRESULT GetFullTopology([in] DWORD flags, [in] TOPOID id, [out] IMFTopology **topology);
 }
+
+[
+    object,
+    uuid(fbe5a32d-a497-4b61-bb85-97b1a848a6e3)
+]
+interface IMFSourceResolver : IUnknown
+{
+    [local] HRESULT CreateObjectFromURL([in] const WCHAR *url, [in] DWORD flags, [in] IPropertyStore *props,
+            [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object);
+    [local] HRESULT CreateObjectFromByteStream([in] IMFByteStream *stream, [in] const WCHAR *url, [in] DWORD flags,
+            [in] IPropertyStore *props, [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object);
+    [local] HRESULT BeginCreateObjectFromURL([in] const WCHAR *url, [in] DWORD flags, [in] IPropertyStore *props,
+            [out] IUnknown **cancel_cookie, [in] IMFAsyncCallback *callback, [in] IUnknown *unk_state);
+    [call_as(BeginCreateObjectFromURL)] HRESULT RemoteBeginCreateObjectFromURL([in, string] const WCHAR *url,
+            [in] DWORD flags, [in] IPropertyStore *props, [in] IMFRemoteAsyncCallback *callback);
+    [local] HRESULT EndCreateObjectFromURL([in] IMFAsyncResult *result, [out] MF_OBJECT_TYPE *obj_type,
+            [out] IUnknown **object);
+    [call_as(EndCreateObjectFromURL)] HRESULT RemoteEndCreateObjectFromURL([in] IUnknown *result,
+            [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object);
+    [local] HRESULT BeginCreateObjectFromByteStream([in] IMFByteStream *stream, [in] const WCHAR *url,
+            [in] DWORD flags, [in] IPropertyStore *props, [out] IUnknown **cancel_cookie,
+            [in] IMFAsyncCallback *callback, [in] IUnknown *unk_state);
+    [call_as(BeginCreateObjectFromByteStream)] HRESULT RemoteBeginCreateObjectFromByteStream([in] IMFByteStream *stream,
+            [in, unique] const WCHAR *url, [in] DWORD flags, [in, unique] IPropertyStore *props,
+            [in] IMFRemoteAsyncCallback *callback);
+    [local] HRESULT EndCreateObjectFromByteStream([in] IMFAsyncResult *result, [out] MF_OBJECT_TYPE *obj_type,
+            [out] IUnknown **object);
+    [call_as(EndCreateObjectFromByteStream)] HRESULT RemoteEndCreateObjectFromByteStream([in] IUnknown *result,
+            [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object);
+    [local] HRESULT CanceObjectCreation([in] IUnknown *cancel_cookie);
+}




More information about the wine-cvs mailing list