1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-01 07:14:31 +00:00

mf: Handle errors with source event generator in session.

This commit is contained in:
Santino Mazza 2023-08-29 13:33:32 -03:00 committed by Alexandre Julliard
parent 09c96907c1
commit 0170cd3a4c

View File

@ -3679,7 +3679,9 @@ static HRESULT WINAPI session_events_callback_Invoke(IMFAsyncCallback *iface, IM
if (FAILED(hr = IMFMediaEventGenerator_EndGetEvent(event_source, result, &event)))
{
WARN("Failed to get event from %p, hr %#lx.\n", event_source, hr);
goto failed;
IMFMediaEventQueue_QueueEventParamVar(session->event_queue, MEError, &GUID_NULL, hr, NULL);
IMFMediaEventGenerator_Release(event_source);
return hr;
}
if (FAILED(hr = IMFMediaEvent_GetType(event, &event_type)))
@ -3872,11 +3874,15 @@ static HRESULT WINAPI session_events_callback_Invoke(IMFAsyncCallback *iface, IM
PropVariantClear(&value);
failed:
if (event)
IMFMediaEvent_Release(event);
if (FAILED(hr = IMFMediaEventGenerator_BeginGetEvent(event_source, iface, (IUnknown *)event_source)))
{
WARN("Failed to re-subscribe, hr %#lx.\n", hr);
IMFMediaEventQueue_QueueEvent(session->event_queue, event);
}
if (event)
IMFMediaEvent_Release(event);
IMFMediaEventGenerator_Release(event_source);