Nikolay Sivov (@nsivov) commented about dlls/mfreadwrite/reader.c:
return hr;
if (FAILED(hr = IMFMediaType_GetUINT64(output_type, &MF_MT_FRAME_SIZE, &frame_size)))
return hr;
if (FAILED(hr = MFGetStrideForBitmapInfoHeader(subtype.Data1, frame_size >> 32, &stride)))
return hr;
if (FAILED(hr = MFGetPlaneSize(subtype.Data1, frame_size >> 32, frame_size & 0xffffffff, &sample_size)))
return hr;
if (FAILED(hr = IMFMediaType_SetUINT32(output_type, &MF_MT_DEFAULT_STRIDE, abs(stride))))
return hr;
if (FAILED(hr = IMFMediaType_SetUINT32(output_type, &MF_MT_SAMPLE_SIZE, sample_size)))
return hr;
This would be shorted with helpers like mediatype_set_uint32() from mfplat, similar to media_type_try_copy_attr() in error handling.