Alistair Leslie-Hughes : include/mfreadwrite.idl: Add interface IMFSinkWriter.

Alexandre Julliard julliard at winehq.org
Fri May 19 15:59:54 CDT 2017


Module: wine
Branch: master
Commit: 3f01ab4c39ffa50e26916a5f33d82dec1a2e42dc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3f01ab4c39ffa50e26916a5f33d82dec1a2e42dc

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Fri May 19 04:03:32 2017 +0000

include/mfreadwrite.idl: Add interface IMFSinkWriter.

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

---

 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);" )




More information about the wine-cvs mailing list