Rémi Bernon (@rbernon) commented about dlls/winegstreamer/media_sink.c:
LeaveCriticalSection(&media_sink->cs);
return hr;
- }
- if (callback)
- {
if (FAILED(hr = MFCreateAsyncResult(NULL, callback, state, &result)))
{
LeaveCriticalSection(&media_sink->cs);
free(command);
return hr;
}
IMFAsyncResult_AddRef((command->u.finalize.result = result));
- }
- hr = MFPutWorkItem(MFASYNC_CALLBACK_QUEUE_STANDARD, &media_sink->async_callback, &command->IUnknown_iface);
You're leaking command if `MFPutWorkItem` fails. Note that I missed that before but it's the same in `media_sink_queue_command`.