Nikolay Sivov (@nsivov) commented about dlls/mfsrcsnk/media_source.c:
IClassFactory wav_byte_stream_plugin_factory = {&wav_byte_stream_plugin_factory_vtbl}; + +static HRESULT WINAPI mp3_byte_stream_plugin_factory_CreateInstance(IClassFactory *iface, + IUnknown *outer, REFIID riid, void **out) +{ + NTSTATUS status; + + if ((status = winedmo_demuxer_check("audio/mp3")) || use_gst_byte_stream_handler()) + { + static const GUID CLSID_GStreamerByteStreamHandler = {0x317df618,0x5e5a,0x468a,{0x9f,0x15,0xd8,0x27,0xa9,0xa0,0x81,0x62}}; + if (status) WARN("Unsupported demuxer, status %#lx.\n", status); + return CoCreateInstance(&CLSID_GStreamerByteStreamHandler, outer, CLSCTX_INPROC_SERVER, riid, out); + } + + return byte_stream_plugin_create(outer, riid, out); +} We might want to consider making this mime string a property of the factory instance, to reduce this duplication by having a single copy of this method.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/7493#note_96956