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.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8172#note_107747