Nikolay Sivov (@nsivov) commented about dlls/mfmediaengine/main.c:
static HRESULT WINAPI media_engine_InsertVideoEffect(IMFMediaEngineEx *iface, IUnknown *effect, BOOL is_optional) { - FIXME("%p, %p, %d stub.\n", iface, effect, is_optional); + struct media_engine *impl = impl_from_IMFMediaEngineEx(iface); + TRACE("%p, %p, %d.\n", iface, effect, is_optional);
- return E_NOTIMPL; + if (impl->effects.video) + IUnknown_Release(impl->effects.video); + + impl->effects.video = effect; + IUnknown_AddRef(impl->effects.video); + impl->effects.video_optional = is_optional; + + return S_OK;
You probably need to handle shutdown state, and protect with a mutex. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2778#note_32372