Rémi Bernon (@rbernon) commented about dlls/mfsrcsnk/media_source.c:
- WARN("Failed to read stream %u data, hr %#lx\n", index, hr); - return hr; + struct media_stream *stream = source->streams[index]; + BOOL thin = stream->pending_thin || stream->thin; + BOOL keyframe; + + if (!thin) + break; + if (FAILED(IMFSample_GetUINT32( sample, &MFSampleExtension_CleanPoint, (UINT32*)&keyframe ))) + keyframe = FALSE; + if (keyframe != stream->pending_thin) + media_stream_update_thin(stream); + if (keyframe) + break; + IMFSample_Release(sample); } I don't think this is the right place to do the filtering, we may have queued samples already in individual streams and we need to handle thinning mode changes with them too.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8505#note_124685