[PATCH 2/2] [include] add missing IWMSyncReader2 interfaces

Vijay Kiran Kamuju infyquest at gmail.com
Wed Feb 27 13:16:15 CST 2019


Signed-off-by: Vijay Kiran Kamuju <infyquest at gmail.com>
---
 include/wmsdkidl.idl | 72 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/include/wmsdkidl.idl b/include/wmsdkidl.idl
index bb7bfee4f8..1a0b3e4a29 100644
--- a/include/wmsdkidl.idl
+++ b/include/wmsdkidl.idl
@@ -209,6 +209,14 @@ typedef struct _WMStreamPrioritizationRecord
     WORD wStreamNumber;
     BOOL fMandatory;
 } WM_STREAM_PRIORITY_RECORD;
+
+typedef struct _WMT_TIMECODE_EXTENSION_DATA
+{
+    WORD  wRange;
+    DWORD dwTimecode;
+    DWORD dwUserbits;
+    DWORD dwAmFlags;
+} WMT_TIMECODE_EXTENSION_DATA;
 #include <poppack.h>
 
 typedef struct _WM_PORT_NUMBER_RANGE
@@ -1056,6 +1064,69 @@ interface IWMSyncReader : IUnknown
         [in] IStream *pStream);
 }
 
+[
+    object,
+    uuid(9f762fa7-a22e-428d-93c9-ac82f3aafe5a),
+    pointer_default( unique ),
+    local
+]
+interface IWMReaderAllocatorEx : IUnknown
+{
+    HRESULT AllocateForStreamEx(
+        [in] WORD wStreamNum,
+        [in] DWORD cbBuffer,
+        [out] INSSBuffer **ppBuffer,
+        [in] DWORD dwFlags,
+        [in] QWORD cnsSampleTime,
+        [in] QWORD cnsSampleDuration,
+        [in] void *pvContext);
+
+    HRESULT AllocateForOutputEx(
+        [in] WORD wOutputNum,
+        [in] DWORD cbBuffer,
+        [out] INSSBuffer **ppBuffer,
+        [in] DWORD dwFlags,
+        [in] QWORD cnsSampleTime,
+        [in] QWORD cnsSampleDuration,
+        [in] void *pvContext);
+}
+
+[
+    object,
+    uuid(faed3d21-1b6b-4af7-8bc6-3e189bbc187b),
+    pointer_default( unique ),
+    local
+]
+interface IWMSyncReader2 : IWMSyncReader
+{
+    HRESULT SetRangeByTimecode(
+        [in] WORD wStreamNum,
+        [in] WMT_TIMECODE_EXTENSION_DATA *pStart,
+        [in] WMT_TIMECODE_EXTENSION_DATA *pEnd);
+
+    HRESULT SetRangeByFrameEx(
+        [in] WORD wStreamNum,
+        [in] QWORD qwFrameNumber,
+        [in] LONGLONG cFramesToRead,
+        [out] QWORD *pcnsStartTime);
+
+    HRESULT SetAllocateForOutput(
+        [in] DWORD dwOutputNum,
+        [in] IWMReaderAllocatorEx *pAllocator);
+
+    HRESULT GetAllocateForOutput(
+        [in] DWORD dwOutputNum,
+        [out] IWMReaderAllocatorEx **ppAllocator);
+
+    HRESULT SetAllocateForStream(
+        [in] DWORD dwStreamNum,
+        [in] IWMReaderAllocatorEx *pAllocator);
+
+    HRESULT GetAllocateForStream(
+        [in] DWORD dwStreamNum,
+        [out] IWMReaderAllocatorEx **ppAllocator);
+}
+
 [
     object,
     uuid(96406bd5-2b2b-11d3-b36b-00c04f6108ff),
@@ -1791,6 +1862,7 @@ cpp_quote("HRESULT WINAPI WMCheckURLExtension(LPCWSTR);")
 cpp_quote("HRESULT WINAPI WMCheckURLScheme(LPCWSTR);")
 cpp_quote("HRESULT WINAPI WMCreateWriter(IUnknown*,IWMWriter**);")
 cpp_quote("HRESULT WINAPI WMCreateReader(IUnknown*,DWORD,IWMReader**);")
+cpp_quote("HRESULT WINAPI WMCreateSyncReader(IUnknown*,DWORD,IWMSyncReader**);")
 
 cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_Base,   0x00000000,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
 cpp_quote("EXTERN_GUID(WMMEDIATYPE_Video,     0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
-- 
2.21.0




More information about the wine-devel mailing list