On Fri Apr 3 03:07:33 2026 +0000, Brendan McGrath wrote:
One design decision I wanted to call out for discussion was the use of `CoCreateInstance` to create the media foundation color conversion transform. This requires me to call `CoInitialize` and `CoUninitialize`. The alternative to this is to copy the approach used in `ir50_32` - which links against `winegstreamer` and calls `winegstreamer_create_video_decoder` directly. I'd just need to add a new exported function that ultimately calls `color_convert_create`. Obviously the downside to the way I went is the overhead of the `CoInitialize` call; but the upside is there's no direct link between this DLL and `winegstreamer` (so this DLL wouldn't be impacted if that transforms implementation was moved elsewhere). Another approach would be to move all the VFW code to `winegstreamer` and create something like `vfw_transform` which exposes a `winegstreamer_vfw_driver_proc`. The VFW codec dlls would then become thin wrappers around it and most of the code would be shared between them.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/10549#note_134896