mfreadwrite: Store result of object activation in stream transform.

In source_reader_create_transform(), store the result of
IMFActivate_ActivateObject() so that in the event of failure, resources
are freed and an appropriate HRESULT is returned.

Previously, if every object's activation failed, the last part of the
function was not aware of this.
This commit is contained in:
Danyil Blyschak 2024-04-18 10:33:18 -05:00 committed by Alexandre Julliard
parent 1dac9d7d79
commit f97e12de40

View file

@ -2011,7 +2011,7 @@ static HRESULT source_reader_create_transform(struct source_reader *reader, BOOL
{
IMFMediaType *media_type;
if (FAILED(IMFActivate_ActivateObject(activates[i], &IID_IMFTransform, (void **)&transform)))
if (FAILED(hr = IMFActivate_ActivateObject(activates[i], &IID_IMFTransform, (void **)&transform)))
continue;
if (SUCCEEDED(hr = IMFTransform_SetInputType(transform, 0, input_type, 0))
&& SUCCEEDED(hr = IMFTransform_GetInputCurrentType(transform, 0, &media_type)))