Nikolay Sivov (@nsivov) commented about dlls/mfmediaengine/main.c:
+ + if (engine->flags & FLAGS_ENGINE_SHUT_DOWN) + hr = MF_E_SHUTDOWN; + else if (!mf_array_reserve((void **)&engine->effects.video_effects, &engine->effects.video_effects_capacity, + engine->effects.video_effects_count + 1, sizeof(*engine->effects.video_effects))) + { + hr = E_OUTOFMEMORY; + } + else + { + engine->effects.video_effects[engine->effects.video_effects_count].object = effect; + IUnknown_AddRef(engine->effects.video_effects[engine->effects.video_effects_count].object); + engine->effects.video_effects[engine->effects.video_effects_count].optional = is_optional; + + engine->effects.video_effects_count++; + } A small helper will be useful here, could be reused for audio later.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2778#note_35735