[PATCH v4 5/6] qasf: Configure WMReader stream format in asf_reader_init_stream.

Rémi Bernon wine at gitlab.winehq.org
Wed Jun 15 01:58:23 CDT 2022


From: Rémi Bernon <rbernon at codeweavers.com>

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
 dlls/qasf/asfreader.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/dlls/qasf/asfreader.c b/dlls/qasf/asfreader.c
index db976f36752..6db1a5ca01f 100644
--- a/dlls/qasf/asfreader.c
+++ b/dlls/qasf/asfreader.c
@@ -161,6 +161,7 @@ static HRESULT asf_reader_init_stream(struct strmbase_filter *iface)
     for (i = 0; i < filter->stream_count; ++i)
     {
         struct asf_stream *stream = filter->streams + i;
+        IWMOutputMediaProps *props;
 
         if (!stream->source.pin.peer)
             continue;
@@ -178,6 +179,23 @@ static HRESULT asf_reader_init_stream(struct strmbase_filter *iface)
             WARN("Failed to start stream %u new segment, hr %#lx\n", i, hr);
             continue;
         }
+
+        hr = IWMReader_GetOutputFormat(filter->reader, stream->index, 0, &props);
+        if (FAILED(hr))
+        {
+            WARN("Failed to get stream %u output format, hr %#lx\n", i, hr);
+            continue;
+        }
+
+        hr = IWMOutputMediaProps_SetMediaType(props, (WM_MEDIA_TYPE *)&stream->source.pin.mt);
+        if (SUCCEEDED(hr))
+            hr = IWMReader_SetOutputProps(filter->reader, stream->index, props);
+        IWMOutputMediaProps_Release(props);
+        if (FAILED(hr))
+        {
+            WARN("Failed to set stream %u output format, hr %#lx\n", i, hr);
+            continue;
+        }
     }
 
     return IWMReader_Start(filter->reader, 0, 0, 1, NULL);
-- 
GitLab


https://gitlab.winehq.org/wine/wine/-/merge_requests/140



More information about the wine-devel mailing list