From 4a3f170c03dd06c94c239f9cb64cd363120cf469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Mon, 22 Aug 2022 13:43:09 +0200 Subject: [PATCH] winegstreamer: Use IWMSyncReader2_SetReadStreamSamples in the async reader. --- dlls/winegstreamer/gst_private.h | 2 -- dlls/winegstreamer/wm_asyncreader.c | 2 +- dlls/winegstreamer/wm_reader.c | 32 ++++++++++++----------------- 3 files changed, 14 insertions(+), 22 deletions(-) diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h index 6b24a73d5d6..32e6555cfe3 100644 --- a/dlls/winegstreamer/gst_private.h +++ b/dlls/winegstreamer/gst_private.h @@ -207,8 +207,6 @@ HRESULT wm_reader_set_allocate_for_output(struct wm_reader *reader, DWORD output HRESULT wm_reader_set_allocate_for_stream(struct wm_reader *reader, WORD stream_number, BOOL allocate); HRESULT wm_reader_set_output_props(struct wm_reader *reader, DWORD output, IWMOutputMediaProps *props); -HRESULT wm_reader_set_read_compressed(struct wm_reader *reader, - WORD stream_number, BOOL compressed); HRESULT wm_reader_set_streams_selected(struct wm_reader *reader, WORD count, const WORD *stream_numbers, const WMT_STREAM_SELECTION *selections); diff --git a/dlls/winegstreamer/wm_asyncreader.c b/dlls/winegstreamer/wm_asyncreader.c index a26f03b4cd9..48553480515 100644 --- a/dlls/winegstreamer/wm_asyncreader.c +++ b/dlls/winegstreamer/wm_asyncreader.c @@ -736,7 +736,7 @@ static HRESULT WINAPI WMReaderAdvanced_SetReceiveStreamSamples(IWMReaderAdvanced TRACE("reader %p, stream_number %u, compressed %d.\n", reader, stream_number, compressed); - return wm_reader_set_read_compressed(reader->wm_reader, stream_number, compressed); + return IWMSyncReader2_SetReadStreamSamples(reader->reader, stream_number, compressed); } static HRESULT WINAPI WMReaderAdvanced_GetReceiveStreamSamples(IWMReaderAdvanced6 *iface, WORD stream_num, diff --git a/dlls/winegstreamer/wm_reader.c b/dlls/winegstreamer/wm_reader.c index 44e75a8d0c0..1229789b156 100644 --- a/dlls/winegstreamer/wm_reader.c +++ b/dlls/winegstreamer/wm_reader.c @@ -2103,24 +2103,6 @@ HRESULT wm_reader_set_allocate_for_stream(struct wm_reader *reader, WORD stream_ return S_OK; } -HRESULT wm_reader_set_read_compressed(struct wm_reader *reader, WORD stream_number, BOOL compressed) -{ - struct wm_stream *stream; - - EnterCriticalSection(&reader->cs); - - if (!(stream = wm_reader_get_stream_by_stream_number(reader, stream_number))) - { - LeaveCriticalSection(&reader->cs); - return E_INVALIDARG; - } - - stream->read_compressed = compressed; - - LeaveCriticalSection(&reader->cs); - return S_OK; -} - HRESULT wm_reader_get_max_stream_size(struct wm_reader *reader, WORD stream_number, DWORD *size) { struct wm_stream *stream; @@ -2468,10 +2450,22 @@ static HRESULT WINAPI reader_SetRangeByFrame(IWMSyncReader2 *iface, WORD stream_ static HRESULT WINAPI reader_SetReadStreamSamples(IWMSyncReader2 *iface, WORD stream_number, BOOL compressed) { struct wm_reader *reader = impl_from_IWMSyncReader2(iface); + struct wm_stream *stream; TRACE("reader %p, stream_index %u, compressed %d.\n", reader, stream_number, compressed); - return wm_reader_set_read_compressed(reader, stream_number, compressed); + EnterCriticalSection(&reader->cs); + + if (!(stream = wm_reader_get_stream_by_stream_number(reader, stream_number))) + { + LeaveCriticalSection(&reader->cs); + return E_INVALIDARG; + } + + stream->read_compressed = compressed; + + LeaveCriticalSection(&reader->cs); + return S_OK; } static HRESULT WINAPI reader_SetStreamsSelected(IWMSyncReader2 *iface,