Nikolay Sivov (@nsivov) commented about dlls/mfreadwrite/reader.c:
if (SUCCEEDED(source_reader_get_source_type_handler(reader, index, &type_handler))){if (FAILED(hr = IMFMediaTypeHandler_SetCurrentMediaType(type_handler, input_type)))WARN("Failed to set current input media type, hr %#lx\n", hr);IMFMediaTypeHandler_Release(type_handler);}if (FAILED(hr = IMFTransform_GetOutputCurrentType(stream->decoder.transform, 0, &output_type)))WARN("Failed to get decoder output media type, hr %#lx\n", hr);else{if (FAILED(hr = IMFMediaType_CopyAllItems(output_type, (IMFAttributes *)stream->current)))WARN("Failed to set current output media type, hr %#lx\n", hr);IMFMediaType_Release(output_type);}
It's a duplication, not setting output type. I think for this call you don't really need a warning, it would be purely memory management failure, if it fails.