From: Elizabeth Figura <zfigura(a)codeweavers.com> --- dlls/quartz/avidec.c | 4 +++- dlls/quartz/tests/avidec.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dlls/quartz/avidec.c b/dlls/quartz/avidec.c index 9f1a7db1586..cc845d32f8a 100644 --- a/dlls/quartz/avidec.c +++ b/dlls/quartz/avidec.c @@ -199,7 +199,9 @@ static HRESULT WINAPI avi_decompressor_sink_Receive(struct strmbase_sink *iface, return E_OUTOFMEMORY; } - DeleteMediaType(mt); + FreeMediaType(&This->source.pin.mt); + This->source.pin.mt = *mt; + CoTaskMemFree(mt); if ((res = ICDecompressBegin(This->hvid, This->input_format, This->output_format))) { diff --git a/dlls/quartz/tests/avidec.c b/dlls/quartz/tests/avidec.c index 7460c04e788..f89cf4ea42c 100644 --- a/dlls/quartz/tests/avidec.c +++ b/dlls/quartz/tests/avidec.c @@ -1535,7 +1535,7 @@ static void test_source_allocator(IFilterGraph2 *graph, IMediaControl *control, hr = IPin_ConnectionMediaType(source, &mt); ok(hr == S_OK, "Got hr %#lx.\n", hr); init_dynamic_mt(&dynamic_mt); - todo_wine ok(compare_media_types(&mt, &dynamic_mt), "Media types didn't match.\n"); + ok(compare_media_types(&mt, &dynamic_mt), "Media types didn't match.\n"); ok(compare_media_types(&testsink->sink.pin.mt, &source_mt), "Media types didn't match.\n"); FreeMediaType(&mt); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9717