winegstreamer: Implement IWMReaderAdvanced::SetStreamsSelected().

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2021-11-10 10:41:10 -06:00 committed by Alexandre Julliard
parent 5d0858ee98
commit 3e0a9877ea
1 changed files with 14 additions and 6 deletions

View File

@ -85,7 +85,12 @@ static DWORD WINAPI stream_thread(void *arg)
for (i = 0; i < stream_count; ++i) for (i = 0; i < stream_count; ++i)
{ {
hr = wm_reader_get_stream_sample(&reader->reader.streams[i], &sample, &pts, &duration, &flags); struct wm_stream *stream = &reader->reader.streams[i];
if (stream->selection == WMT_OFF)
continue;
hr = wm_reader_get_stream_sample(stream, &sample, &pts, &duration, &flags);
if (hr == S_OK) if (hr == S_OK)
{ {
if (reader->user_clock) if (reader->user_clock)
@ -441,12 +446,15 @@ static HRESULT WINAPI WMReaderAdvanced_GetManualStreamSelection(IWMReaderAdvance
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI WMReaderAdvanced_SetStreamsSelected(IWMReaderAdvanced6 *iface, WORD stream_count, static HRESULT WINAPI WMReaderAdvanced_SetStreamsSelected(IWMReaderAdvanced6 *iface,
WORD *stream_numbers, WMT_STREAM_SELECTION *selections) WORD count, WORD *stream_numbers, WMT_STREAM_SELECTION *selections)
{ {
struct async_reader *This = impl_from_IWMReaderAdvanced6(iface); struct async_reader *reader = impl_from_IWMReaderAdvanced6(iface);
FIXME("(%p)->(%d %p %p)\n", This, stream_count, stream_numbers, selections);
return E_NOTIMPL; TRACE("reader %p, count %u, stream_numbers %p, selections %p.\n",
reader, count, stream_numbers, selections);
return wm_reader_set_streams_selected(&reader->reader, count, stream_numbers, selections);
} }
static HRESULT WINAPI WMReaderAdvanced_GetStreamSelected(IWMReaderAdvanced6 *iface, WORD stream_num, static HRESULT WINAPI WMReaderAdvanced_GetStreamSelected(IWMReaderAdvanced6 *iface, WORD stream_num,