On Fri Jan 9 23:44:50 2026 +0000, Yuxuan Shui wrote:
@zfigura so it goes like this: `MediaFilter_Stop` calls `filter_Stop`, which calls `asf_reader_cleanup_stream`, which stops the WMReader (which _did_ stop), and decommits the allocator. As expected. But the problem is later in `MediaFilter_Stop`, it calls `IMediaSeeking::SetPositions`, which calls `media_seeking_ChangeCurrent` (`asfreader.c, line 329`), which stops then starts the stream again. This means when we finally get to `asf_reader_destroy`, the WMReader is running, and with a decommitted allocator. Thoughts? maybe `MediaFilter_Stop` shouldn't call `SetPositions`? Or `SetPositions` shouldn't restart the reader if it's stopped? well, let me just write a test case to check if `SetPositions` is supposed to start a stopped filter.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9858#note_126592