[PATCH] include: Add IMFSequencerSource interface
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Tue Nov 20 17:42:06 CST 2018
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
include/mfidl.idl | 55 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/include/mfidl.idl b/include/mfidl.idl
index 84be055d09b..45d52fc7293 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);")
--
2.19.1
More information about the wine-devel
mailing list