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