Nikolay Sivov (@nsivov) commented about dlls/mf/sar.c:
- renderer->flags |= SAR_SAMPLE_REQUESTED; + if (!(renderer->flags & SAR_SAMPLE_REQUESTED)) + { + IMFMediaEventQueue_QueueEventParamVar(renderer->stream_event_queue, MEStreamSinkRequestSample, &GUID_NULL, S_OK, NULL); + renderer->flags |= SAR_SAMPLE_REQUESTED; + } + + if (renderer->flags & SAR_ADDING_SILENCE && + SUCCEEDED(IAudioClient_GetBufferSize(renderer->audio_client, &max_frames)) && + SUCCEEDED(IAudioClient_GetCurrentPadding(renderer->audio_client, &pad_frames)) && + (max_frames -= pad_frames) && + SUCCEEDED(IAudioRenderClient_GetBuffer(renderer->audio_render_client, max_frames, &dst))) + { + IAudioRenderClient_ReleaseBuffer(renderer->audio_render_client, max_frames, AUDCLNT_BUFFERFLAGS_SILENT); + } } Please move this to a helper, for readability sake.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/10369#note_132791