I've overhauled the MR: - This only includes the changes and tests for the mf session now, the winegstreamer and mfsrcsnk changes will be sent in a follow-up MR. - I'm using a test source instead of an actual source - I've modified test_seek_source for this, since it already contains the logic needed to successfully start a media session (having an event queue, sending MESourceStarted, MENewStream and MEStreamStarted), which is necessary for SetRate. - Since test_seek_source now has multiple responsibilities, I've renamed it to test_seek_source and renamed the old test_source to test_stub_source. It could potentially be used for other things that require a started session in the future. - Most publicly and privately discussed concerns should be addressed now, except the one about the thin_committed field, which I am still unsure how to avoid. @nsivov -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8184#note_107431