Commit 0892b92b authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard
parent 21832ac2
......@@ -556,10 +556,12 @@ static HRESULT WINAPI transform_ProcessOutput(IMFTransform *iface, DWORD flags,
return hr;
if (wg_sample->max_size < info.cbSize)
hr = MF_E_BUFFERTOOSMALL;
else
hr = wg_transform_read_data(decoder->wg_transform, wg_sample);
{
mf_destroy_wg_sample(wg_sample);
return MF_E_BUFFERTOOSMALL;
}
hr = wg_transform_read_data(decoder->wg_transform, wg_sample);
mf_destroy_wg_sample(wg_sample);
return hr;
}
......
......@@ -539,10 +539,12 @@ static HRESULT WINAPI transform_ProcessInput(IMFTransform *iface, DWORD id, IMFS
/* WMA transform uses fixed size input samples and ignores samples with invalid sizes */
if (wg_sample->size % info.cbSize)
hr = S_OK;
else
hr = wg_transform_push_data(decoder->wg_transform, wg_sample);
{
mf_destroy_wg_sample(wg_sample);
return S_OK;
}
hr = wg_transform_push_data(decoder->wg_transform, wg_sample);
mf_destroy_wg_sample(wg_sample);
return hr;
}
......@@ -579,8 +581,12 @@ static HRESULT WINAPI transform_ProcessOutput(IMFTransform *iface, DWORD flags,
wg_sample->size = 0;
if (wg_sample->max_size < info.cbSize)
hr = MF_E_BUFFERTOOSMALL;
else if (SUCCEEDED(hr = wg_transform_read_data(decoder->wg_transform, wg_sample)))
{
mf_destroy_wg_sample(wg_sample);
return MF_E_BUFFERTOOSMALL;
}
if (SUCCEEDED(hr = wg_transform_read_data(decoder->wg_transform, wg_sample)))
{
if (wg_sample->flags & WG_SAMPLE_FLAG_INCOMPLETE)
samples[0].dwStatus |= MFT_OUTPUT_DATA_BUFFER_INCOMPLETE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment