From 19df4f02de90e5f3c41f4b20e94a9da1262c1c0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Wed, 14 Sep 2022 21:56:59 +0200 Subject: [PATCH] winegstreamer: Check for unexpected format change in wg_transform_read helpers. --- dlls/winegstreamer/color_convert.c | 3 --- dlls/winegstreamer/quartz_transform.c | 2 -- dlls/winegstreamer/resampler.c | 3 --- dlls/winegstreamer/video_processor.c | 3 --- dlls/winegstreamer/wg_sample.c | 8 ++++++++ dlls/winegstreamer/wma_decoder.c | 3 --- 6 files changed, 8 insertions(+), 14 deletions(-) diff --git a/dlls/winegstreamer/color_convert.c b/dlls/winegstreamer/color_convert.c index 7f3c558d21c..763b7f241f4 100644 --- a/dlls/winegstreamer/color_convert.c +++ b/dlls/winegstreamer/color_convert.c @@ -601,9 +601,6 @@ static HRESULT WINAPI transform_ProcessOutput(IMFTransform *iface, DWORD flags, wg_sample_release(wg_sample); - if (hr == MF_E_TRANSFORM_STREAM_CHANGE) - FIXME("Unexpected stream format change!\n"); - return hr; } diff --git a/dlls/winegstreamer/quartz_transform.c b/dlls/winegstreamer/quartz_transform.c index 30cfb7b855b..b4640b497ec 100644 --- a/dlls/winegstreamer/quartz_transform.c +++ b/dlls/winegstreamer/quartz_transform.c @@ -342,8 +342,6 @@ static HRESULT WINAPI transform_sink_receive(struct strmbase_sink *pin, IMediaSa } if (FAILED(hr)) { - if (hr == MF_E_TRANSFORM_STREAM_CHANGE) - FIXME("Unexpected stream format change!\n"); IMediaSample_Release(output_sample); return hr; } diff --git a/dlls/winegstreamer/resampler.c b/dlls/winegstreamer/resampler.c index 0ca2d714dc3..f2c414e5661 100644 --- a/dlls/winegstreamer/resampler.c +++ b/dlls/winegstreamer/resampler.c @@ -571,9 +571,6 @@ static HRESULT WINAPI transform_ProcessOutput(IMFTransform *iface, DWORD flags, wg_sample_release(wg_sample); - if (hr == MF_E_TRANSFORM_STREAM_CHANGE) - FIXME("Unexpected stream format change!\n"); - return hr; } diff --git a/dlls/winegstreamer/video_processor.c b/dlls/winegstreamer/video_processor.c index 8a0e141a365..ba207a8bcde 100644 --- a/dlls/winegstreamer/video_processor.c +++ b/dlls/winegstreamer/video_processor.c @@ -577,9 +577,6 @@ static HRESULT WINAPI video_processor_ProcessOutput(IMFTransform *iface, DWORD f wg_sample_release(wg_sample); - if (hr == MF_E_TRANSFORM_STREAM_CHANGE) - FIXME("Unexpected stream format change!\n"); - return hr; } diff --git a/dlls/winegstreamer/wg_sample.c b/dlls/winegstreamer/wg_sample.c index d8fe8662f65..53a543fc625 100644 --- a/dlls/winegstreamer/wg_sample.c +++ b/dlls/winegstreamer/wg_sample.c @@ -291,7 +291,11 @@ HRESULT wg_transform_read_mf(struct wg_transform *transform, struct wg_sample *w TRACE_(mfplat)("transform %p, wg_sample %p, format %p, flags %p.\n", transform, wg_sample, format, flags); if (FAILED(hr = wg_transform_read_data(transform, wg_sample, format))) + { + if (hr == MF_E_TRANSFORM_STREAM_CHANGE && !format) + FIXME("Unexpected stream format change!\n"); return hr; + } if (FAILED(hr = IMFMediaBuffer_SetCurrentLength(sample->u.mf.buffer, wg_sample->size))) return hr; @@ -349,7 +353,11 @@ HRESULT wg_transform_read_quartz(struct wg_transform *transform, struct wg_sampl TRACE_(mfplat)("transform %p, wg_sample %p.\n", transform, wg_sample); if (FAILED(hr = wg_transform_read_data(transform, wg_sample, NULL))) + { + if (hr == MF_E_TRANSFORM_STREAM_CHANGE) + FIXME("Unexpected stream format change!\n"); return hr; + } if (FAILED(hr = IMediaSample_SetActualDataLength(sample->u.quartz.sample, wg_sample->size))) return hr; diff --git a/dlls/winegstreamer/wma_decoder.c b/dlls/winegstreamer/wma_decoder.c index 22b328479e3..2951d7cac4d 100644 --- a/dlls/winegstreamer/wma_decoder.c +++ b/dlls/winegstreamer/wma_decoder.c @@ -597,9 +597,6 @@ static HRESULT WINAPI transform_ProcessOutput(IMFTransform *iface, DWORD flags, wg_sample_release(wg_sample); - if (hr == MF_E_TRANSFORM_STREAM_CHANGE) - FIXME("Unexpected stream format change!\n"); - return hr; }