Rémi Bernon : qasf: Configure WMReader stream selection in asf_reader_init_stream.
Alexandre Julliard
julliard at winehq.org
Sat Aug 13 14:20:32 CDT 2022
Module: wine
Branch: master
Commit: 0b1e8d8b5cff41b468b387bfed46373f8ac63cd3
URL: https://gitlab.winehq.org/wine/wine/-/commit/0b1e8d8b5cff41b468b387bfed46373f8ac63cd3
Author: Rémi Bernon <rbernon at codeweavers.com>
Date: Wed Aug 10 20:26:33 2022 +0200
qasf: Configure WMReader stream selection in asf_reader_init_stream.
---
dlls/qasf/asfreader.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/dlls/qasf/asfreader.c b/dlls/qasf/asfreader.c
index 2585a4b07d1..6bfe61fd5d3 100644
--- a/dlls/qasf/asfreader.c
+++ b/dlls/qasf/asfreader.c
@@ -200,16 +200,25 @@ static HRESULT asf_reader_query_interface(struct strmbase_filter *iface, REFIID
static HRESULT asf_reader_init_stream(struct strmbase_filter *iface)
{
struct asf_reader *filter = impl_from_strmbase_filter(iface);
+ WMT_STREAM_SELECTION selections[ARRAY_SIZE(filter->streams)];
+ WORD stream_numbers[ARRAY_SIZE(filter->streams)];
+ IWMReaderAdvanced *reader_advanced;
HRESULT hr = S_OK;
int i;
TRACE("iface %p\n", iface);
+ if (FAILED(hr = IWMReader_QueryInterface(filter->reader, &IID_IWMReaderAdvanced, (void **)&reader_advanced)))
+ return hr;
+
for (i = 0; i < filter->stream_count; ++i)
{
struct asf_stream *stream = filter->streams + i;
IWMOutputMediaProps *props;
+ stream_numbers[i] = i + 1;
+ selections[i] = WMT_OFF;
+
if (!stream->source.pin.peer)
continue;
@@ -240,8 +249,16 @@ static HRESULT asf_reader_init_stream(struct strmbase_filter *iface)
WARN("Failed to start stream %u new segment, hr %#lx\n", i, hr);
break;
}
+
+ selections[i] = WMT_ON;
}
+ if (SUCCEEDED(hr) && FAILED(hr = IWMReaderAdvanced_SetStreamsSelected(reader_advanced,
+ filter->stream_count, stream_numbers, selections)))
+ WARN("Failed to set reader %p stream selection, hr %#lx\n", filter->reader, hr);
+
+ IWMReaderAdvanced_Release(reader_advanced);
+
if (FAILED(hr))
return hr;
More information about the wine-cvs
mailing list