Nikolay Sivov (@nsivov) commented about dlls/mfsrcsnk/media_source.c:
EnterCriticalSection(&source->cs); + old_thin = source->thin; source->rate = rate; + source->thin = thin; LeaveCriticalSection(&source->cs);
- return IMFMediaEventQueue_QueueEventParamVar(source->queue, MESourceRateChanged, &GUID_NULL, S_OK, NULL); + if (FAILED(hr = IMFMediaEventQueue_QueueEventParamVar(source->queue, MESourceRateChanged, &GUID_NULL, S_OK, NULL))) + return hr; + + if (old_thin != thin) + { + PROPVARIANT param; + param.vt = VT_BOOL; + param.boolVal = thin; + hr = IMFMediaEventQueue_QueueEventParamVar(source->queue, MEStreamThinMode, &GUID_NULL, S_OK, ¶m);
This one is documented to use VARIANT_TRUE/VARIANT_FALSE. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8184#note_105015