Alistair Leslie-Hughes : include: Add IMFSequencerSource interface.

Alexandre Julliard julliard at winehq.org
Wed Nov 21 16:08:07 CST 2018


Module: wine
Branch: master
Commit: f3f08d32d417e7871b7d07a41687d3fb2d7ec6c1
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=f3f08d32d417e7871b7d07a41687d3fb2d7ec6c1

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Tue Nov 20 23:42:06 2018 +0000

include: Add IMFSequencerSource interface.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

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

diff --git a/include/mfidl.idl b/include/mfidl.idl
index 84be055..170588b 100644
--- a/include/mfidl.idl
+++ b/include/mfidl.idl
@@ -21,6 +21,7 @@ import "mftransform.idl";
 
 typedef unsigned __int64 TOPOID;
 typedef LONGLONG  MFTIME;
+typedef DWORD MFSequencerElementId;
 
 typedef enum MF_TOPOLOGY_TYPE
 {
@@ -250,6 +251,60 @@ interface IMFGetService : IUnknown
     );
 }
 
+[
+    object,
+    uuid(03cb2711-24d7-4db6-a17f-f3a7a479a536),
+]
+interface IMFPresentationDescriptor : IMFAttributes
+{
+    HRESULT GetStreamDescriptorCount(
+        [out] DWORD *count );
+
+    HRESULT GetStreamDescriptorByIndex(
+        [in] DWORD index,
+        [out] BOOL *selected,
+        [out] IMFStreamDescriptor **descriptor );
+
+    HRESULT SelectStream(
+        [in] DWORD index );
+
+    HRESULT DeselectStream(
+        [in] DWORD index );
+
+    HRESULT Clone(
+        [out] IMFPresentationDescriptor **descriptor );
+}
+
+[
+    object,
+    uuid(197cd219-19cb-4de1-a64c-acf2edcbe59e),
+    local
+]
+interface IMFSequencerSource : IUnknown
+{
+    HRESULT AppendTopology(
+        [in] IMFTopology *topology,
+        [in] DWORD flags,
+        [out] MFSequencerElementId *element );
+
+    HRESULT DeleteTopology(
+        [in] MFSequencerElementId element);
+
+    HRESULT GetPresentationContext(
+        [in] IMFPresentationDescriptor *pd,
+        [out, optional] MFSequencerElementId *id,
+        [out, optional] IMFTopology **topology );
+
+    HRESULT UpdateTopology(
+        [in] MFSequencerElementId od,
+        [in] IMFTopology *topology);
+
+    HRESULT UpdateTopologyFlags(
+        [in] MFSequencerElementId id,
+        [in] DWORD flags );
+
+};
+
 cpp_quote("HRESULT WINAPI MFCreateMediaSession(IMFAttributes *config, IMFMediaSession **session);")
 cpp_quote("HRESULT WINAPI MFCreateMFByteStreamOnStream(IStream *stream, IMFByteStream **bytestream);" )
 cpp_quote("HRESULT WINAPI MFCreateSourceResolver(IMFSourceResolver **resolver);")




More information about the wine-cvs mailing list