From: Rémi Bernon rbernon@codeweavers.com
--- dlls/winegstreamer/color_convert.c | 12 ++++++------ dlls/winegstreamer/h264_decoder.c | 6 +++--- dlls/winegstreamer/resampler.c | 15 +++++++-------- dlls/winegstreamer/video_processor.c | 11 ++++++----- dlls/winegstreamer/wma_decoder.c | 13 ++++++------- 5 files changed, 28 insertions(+), 29 deletions(-)
diff --git a/dlls/winegstreamer/color_convert.c b/dlls/winegstreamer/color_convert.c index 7ffe29de907..4b985338778 100644 --- a/dlls/winegstreamer/color_convert.c +++ b/dlls/winegstreamer/color_convert.c @@ -553,15 +553,15 @@ static HRESULT WINAPI transform_ProcessOutput(IMFTransform *iface, DWORD flags, if (count != 1) return E_INVALIDARG;
- if (FAILED(hr = IMFTransform_GetOutputStreamInfo(iface, 0, &info))) - return hr; - if (!impl->wg_transform) return MF_E_TRANSFORM_TYPE_NOT_SET;
- *status = 0; - samples[0].dwStatus = 0; - if (!samples[0].pSample) return E_INVALIDARG; + *status = samples->dwStatus = 0; + if (!samples->pSample) + return E_INVALIDARG; + + if (FAILED(hr = IMFTransform_GetOutputStreamInfo(iface, 0, &info))) + return hr;
if (FAILED(hr = wg_sample_create_mf(samples[0].pSample, &wg_sample))) return hr; diff --git a/dlls/winegstreamer/h264_decoder.c b/dlls/winegstreamer/h264_decoder.c index cf4a79303ab..bddb83e160a 100644 --- a/dlls/winegstreamer/h264_decoder.c +++ b/dlls/winegstreamer/h264_decoder.c @@ -607,9 +607,9 @@ static HRESULT WINAPI transform_ProcessOutput(IMFTransform *iface, DWORD flags, if (!decoder->wg_transform) return MF_E_TRANSFORM_TYPE_NOT_SET;
- *status = 0; - samples[0].dwStatus = 0; - if (!samples[0].pSample) return E_INVALIDARG; + *status = samples->dwStatus = 0; + if (!samples->pSample) + return E_INVALIDARG;
if (FAILED(hr = IMFMediaType_GetGUID(decoder->output_type, &MF_MT_SUBTYPE, &subtype))) return hr; diff --git a/dlls/winegstreamer/resampler.c b/dlls/winegstreamer/resampler.c index 7dd50da1c2d..e2052ff44a5 100644 --- a/dlls/winegstreamer/resampler.c +++ b/dlls/winegstreamer/resampler.c @@ -531,23 +531,22 @@ static HRESULT WINAPI transform_ProcessOutput(IMFTransform *iface, DWORD flags,
TRACE("iface %p, flags %#lx, count %lu, samples %p, status %p.\n", iface, flags, count, samples, status);
- if (count > 1) + if (count != 1) return E_INVALIDARG;
if (!impl->wg_transform) return MF_E_TRANSFORM_TYPE_NOT_SET;
- if (FAILED(hr = IMFTransform_GetOutputStreamInfo(iface, 0, &info))) - return hr; - - *status = 0; - samples[0].dwStatus = 0; - if (!samples[0].pSample) + *status = samples->dwStatus = 0; + if (!samples->pSample) { - samples[0].dwStatus = MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE; + samples->dwStatus = MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE; return MF_E_TRANSFORM_NEED_MORE_INPUT; }
+ if (FAILED(hr = IMFTransform_GetOutputStreamInfo(iface, 0, &info))) + return hr; + if (FAILED(hr = wg_sample_create_mf(samples[0].pSample, &wg_sample))) return hr;
diff --git a/dlls/winegstreamer/video_processor.c b/dlls/winegstreamer/video_processor.c index a0f1c52f356..3cad80550d1 100644 --- a/dlls/winegstreamer/video_processor.c +++ b/dlls/winegstreamer/video_processor.c @@ -534,14 +534,15 @@ static HRESULT WINAPI video_processor_ProcessOutput(IMFTransform *iface, DWORD f if (count != 1) return E_INVALIDARG;
- if (FAILED(hr = IMFTransform_GetOutputStreamInfo(iface, 0, &info))) - return hr; - if (!impl->wg_transform) return MF_E_TRANSFORM_TYPE_NOT_SET;
- samples[0].dwStatus = 0; - if (!samples[0].pSample) return E_INVALIDARG; + samples->dwStatus = 0; + if (!samples->pSample) + return E_INVALIDARG; + + if (FAILED(hr = IMFTransform_GetOutputStreamInfo(iface, 0, &info))) + return hr;
if (FAILED(hr = wg_sample_create_mf(samples[0].pSample, &wg_sample))) return hr; diff --git a/dlls/winegstreamer/wma_decoder.c b/dlls/winegstreamer/wma_decoder.c index a68d5c0f607..80167db40ce 100644 --- a/dlls/winegstreamer/wma_decoder.c +++ b/dlls/winegstreamer/wma_decoder.c @@ -553,23 +553,22 @@ static HRESULT WINAPI transform_ProcessOutput(IMFTransform *iface, DWORD flags,
TRACE("iface %p, flags %#lx, count %lu, samples %p, status %p.\n", iface, flags, count, samples, status);
- if (count > 1) + if (count != 1) return E_INVALIDARG;
if (!decoder->wg_transform) return MF_E_TRANSFORM_TYPE_NOT_SET;
- if (FAILED(hr = IMFTransform_GetOutputStreamInfo(iface, 0, &info))) - return hr; - - *status = 0; - samples[0].dwStatus = 0; - if (!samples[0].pSample) + *status = samples->dwStatus = 0; + if (!samples->pSample) { samples[0].dwStatus = MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE; return MF_E_TRANSFORM_NEED_MORE_INPUT; }
+ if (FAILED(hr = IMFTransform_GetOutputStreamInfo(iface, 0, &info))) + return hr; + if (FAILED(hr = wg_sample_create_mf(samples[0].pSample, &wg_sample))) return hr;