From 0c4f72e0263e9f849a45c9ae191306cf13310134 Mon Sep 17 00:00:00 2001 From: Alcaro Date: Sat, 4 Apr 2026 18:24:50 +0200 Subject: [PATCH] winegstreamer: Don't get stream ID wires crossed. Fixes: 55e5a1ccea37d1bd889ab269d55b499bf131ddf9 --- dlls/winegstreamer/wm_reader.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dlls/winegstreamer/wm_reader.c b/dlls/winegstreamer/wm_reader.c index 7e2316c940b0..0e556ec19080 100644 --- a/dlls/winegstreamer/wm_reader.c +++ b/dlls/winegstreamer/wm_reader.c @@ -1853,6 +1853,12 @@ static HRESULT wm_reader_read_stream_sample(struct wm_reader *reader, struct wg_ if (!(stream = wm_reader_get_stream_by_stream_number(reader, buffer->stream + 1))) return E_INVALIDARG; + if (stream->read_compressed) + { + buffer->stream = reader->stream_count - buffer->stream - 1; + if (!(stream = wm_reader_get_stream_by_stream_number(reader, buffer->stream + 1))) + return E_INVALIDARG; + } TRACE("Got buffer for '%s' stream %p.\n", get_major_type_string(stream->format.major_type), stream);