Nikolay Sivov : include: Add some more MF reader/writer API definitions.

Alexandre Julliard julliard at winehq.org
Thu Oct 17 16:01:25 CDT 2019


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Thu Oct 17 08:40:40 2019 +0300

include: Add some more MF reader/writer API definitions.

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

---

 include/mfreadwrite.idl | 93 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

diff --git a/include/mfreadwrite.idl b/include/mfreadwrite.idl
index cbfeef812c..93920a2d38 100644
--- a/include/mfreadwrite.idl
+++ b/include/mfreadwrite.idl
@@ -46,6 +46,13 @@ typedef [v1_enum] enum MF_SOURCE_READER_FLAG
     MF_SOURCE_READERF_ALLEFFECTSREMOVED       = 0x00000200,
 } MF_SOURCE_READER_FLAG;
 
+enum
+{
+    MF_SINK_WRITER_INVALID_STREAM_INDEX = 0xffffffff,
+    MF_SINK_WRITER_ALL_STREAMS          = 0xfffffffe,
+    MF_SINK_WRITER_MEDIASINK            = 0xffffffff,
+};
+
 typedef struct _MF_SINK_WRITER_STATISTICS
 {
     DWORD    cb;
@@ -116,6 +123,20 @@ interface IMFSourceReaderCallback : IUnknown
             [in] IMFMediaEvent *event);
 }
 
+[
+    object,
+    uuid(cf839fe6-8c2a-4dd2-b6ea-c22d6961af05),
+    local
+]
+interface IMFSourceReaderCallback2 : IMFSourceReaderCallback
+{
+    HRESULT OnTransformChange();
+
+    HRESULT OnStreamError(
+            [in] DWORD stream_index,
+            [in] HRESULT status);
+}
+
 interface IMFMediaSource;
 
 [
@@ -138,6 +159,32 @@ interface IMFSourceReader : IUnknown
     HRESULT GetPresentationAttribute([in] DWORD index, [in] REFGUID guid, [out] PROPVARIANT *attr);
 }
 
+[
+    object,
+    uuid(7b981cf0-560e-4116-9875-b099895f23d7),
+    local
+]
+interface IMFSourceReaderEx : IMFSourceReader
+{
+    HRESULT SetNativeMediaType(
+            [in] DWORD stream_index,
+            [in] IMFMediaType *media_type,
+            [out] DWORD *stream_flags);
+
+    HRESULT AddTransformForStream(
+            [in] DWORD stream_index,
+            [in] IUnknown *transform);
+
+    HRESULT RemoveAllTransformsForStream(
+            [in] DWORD stream_index);
+
+    HRESULT GetTransformForStream(
+            [in] DWORD stream_index,
+            [in] DWORD transform_index,
+            [out] GUID *category,
+            [out] IMFTransform **transform);
+}
+
 [
     object,
     uuid(3137f1cd-fe5e-4805-a5d8-fb477448cb3d),
@@ -169,6 +216,52 @@ interface IMFSinkWriterEx : IMFSinkWriter
                                   [out] IMFTransform **transform);
 }
 
+[
+    object,
+    uuid(17c3779e-3cde-4ede-8c60-3899f5f53ad6),
+    local
+]
+interface IMFSinkWriterEncoderConfig : IUnknown
+{
+    HRESULT SetTargetMediaType(
+            [in] DWORD stream_index,
+            [in] IMFMediaType *media_type,
+            [in] IMFAttributes *encoding_parameters);
+
+    HRESULT PlaceEncodingParameters(
+            [in] DWORD stream_index,
+            [in] IMFAttributes *encoding_parameters);
+}
+
+[
+    object,
+    uuid(666f76de-33d2-41b9-a458-29ed0a972c58),
+    local
+]
+interface IMFSinkWriterCallback : IUnknown
+{
+    HRESULT OnFinalize(
+            [in] HRESULT status);
+
+    HRESULT OnMarker(
+            [in] DWORD stream_index,
+            [in] void *context);
+}
+
+[
+    object,
+    uuid(2456bd58-c067-4513-84fe-8d0c88ffdc61),
+    local
+]
+interface IMFSinkWriterCallback2 : IMFSinkWriterCallback
+{
+    HRESULT OnTransformChange();
+
+    HRESULT OnStreamError(
+            [in] DWORD stream_index,
+            [in] HRESULT status);
+}
+
 [
     object,
     uuid(e7fe2e12-661c-40da-92f9-4f002ab67627),




More information about the wine-cvs mailing list