 
            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.