Rémi Bernon (@rbernon) commented about dlls/ir50_32/ir50.c:
- if ( FAILED(IMFMediaBuffer_Unlock( in_buf )) )
goto done;
- if ( FAILED(IMFMediaBuffer_SetCurrentLength( in_buf, icd->lpbiInput->biSizeImage )) )
goto done;
- if ( FAILED(IMFTransform_ProcessInput( decoder, 0, in_sample, 0 )) )
goto done;
- memset( &mft_buf, 0, sizeof(mft_buf) );
- mft_buf.pSample = out_sample;
- hr = IMFTransform_ProcessOutput( decoder, 0, 1, &mft_buf, &mft_status );
- if ( SUCCEEDED(hr) && (mft_status & MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE) )
hr = IMFTransform_ProcessOutput( decoder, 0, 1, &mft_buf, &mft_status );
That would not be needed then (or maybe a `FIXME` message just in case).