Rémi Bernon (@rbernon) commented about dlls/winegstreamer/media_sink.c:
- if (media_sink->state != STATE_STARTED && media_sink->state != STATE_PAUSED)
- {
LeaveCriticalSection(&media_sink->cs);
return MF_E_INVALIDREQUEST;
- }
- if (FAILED(hr = (async_command_create(ASYNC_PROCESS, &command))))
- {
LeaveCriticalSection(&media_sink->cs);
return hr;
- }
- IMFSample_AddRef((command->u.process.sample = sample));
- command->u.process.stream_id = stream_sink->id;
- hr = MFPutWorkItem(MFASYNC_CALLBACK_QUEUE_STANDARD, &media_sink->async_callback, &command->IUnknown_iface);
You're leaking the command if `MFPutWorkItem` fails.