[PATCH] include: Add some more MF reader/writer API definitions.
Nikolay Sivov
nsivov at codeweavers.com
Thu Oct 17 00:40:40 CDT 2019
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
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),
--
2.23.0
More information about the wine-devel
mailing list