[PATCH] include/mfreadwrite.idl: Add interface IMFSinkWriter
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Thu May 18 23:03:32 CDT 2017
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
include/mfreadwrite.idl | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/include/mfreadwrite.idl b/include/mfreadwrite.idl
index a146552..c8816cd 100644
--- a/include/mfreadwrite.idl
+++ b/include/mfreadwrite.idl
@@ -31,6 +31,26 @@ enum
MF_SOURCE_READER_CURRENT_TYPE_INDEX = 0xffffffff
};
+typedef struct _MF_SINK_WRITER_STATISTICS
+{
+ DWORD cb;
+ LONGLONG llLastTimestampReceived;
+ LONGLONG llLastTimestampEncoded;
+ LONGLONG llLastTimestampProcessed;
+ LONGLONG llLastStreamTickReceived;
+ LONGLONG llLastSinkSampleRequest;
+ QWORD qwNumSamplesReceived;
+ QWORD qwNumSamplesEncoded;
+ QWORD qwNumSamplesProcessed;
+ QWORD qwNumStreamTicksReceived;
+ DWORD dwByteCountQueued;
+ QWORD qwByteCountProcessed;
+ DWORD dwNumOutstandingSinkSampleRequests;
+ DWORD dwAverageSampleRateReceived;
+ DWORD dwAverageSampleRateEncoded;
+ DWORD dwAverageSampleRateProcessed;
+} MF_SINK_WRITER_STATISTICS;
+
interface IMFMediaSource;
[
@@ -53,5 +73,25 @@ interface IMFSourceReader : IUnknown
HRESULT GetPresentationAttribute([in] DWORD index, [in] REFGUID guid, [out] PROPVARIANT *attr);
};
+[
+ object,
+ uuid(3137f1cd-fe5e-4805-a5d8-fb477448cb3d),
+ local
+]
+interface IMFSinkWriter : IUnknown
+{
+ HRESULT AddStream([in] IMFMediaType *type, [out] DWORD *index);
+ HRESULT SetInputMediaType([in] DWORD index, [in] IMFMediaType *type, [in] IMFAttributes *parameters);
+ HRESULT BeginWriting(void);
+ HRESULT WriteSample([in] DWORD index, [in] IMFSample *sample);
+ HRESULT SendStreamTick([in] DWORD index, [in] LONGLONG timestamp);
+ HRESULT PlaceMarker([in] DWORD index, [in] void *context);
+ HRESULT NotifyEndOfSegment([in] DWORD index);
+ HRESULT Flush([in] DWORD index);
+ HRESULT Finalize(void);
+ HRESULT GetServiceForStream([in] DWORD index, [in] REFGUID service, [in] REFIID riid, [out] void **object);
+ HRESULT GetStatistics([in] DWORD index, [out] MF_SINK_WRITER_STATISTICS *stats);
+};
+
cpp_quote( "HRESULT WINAPI MFCreateSourceReaderFromMediaSource(IMFMediaSource *source, IMFAttributes *attributes," )
cpp_quote( " IMFSourceReader **reader);" )
--
1.9.1
More information about the wine-patches
mailing list