mf/session: Handle source buffering events.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
f151550e56
commit
68b5a0574c
|
@ -2867,6 +2867,23 @@ static HRESULT WINAPI session_events_callback_Invoke(IMFAsyncCallback *iface, IM
|
||||||
LeaveCriticalSection(&session->cs);
|
LeaveCriticalSection(&session->cs);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MEBufferingStarted:
|
||||||
|
case MEBufferingStopped:
|
||||||
|
|
||||||
|
EnterCriticalSection(&session->cs);
|
||||||
|
if (session_get_media_source(session, (IMFMediaSource *)event_source))
|
||||||
|
{
|
||||||
|
if (event_type == MEBufferingStarted)
|
||||||
|
IMFPresentationClock_Pause(session->clock);
|
||||||
|
else
|
||||||
|
IMFPresentationClock_Start(session->clock, PRESENTATION_CURRENT_POSITION);
|
||||||
|
|
||||||
|
IMFMediaEventQueue_QueueEvent(session->event_queue, event);
|
||||||
|
}
|
||||||
|
LeaveCriticalSection(&session->cs);
|
||||||
|
break;
|
||||||
|
|
||||||
case MENewStream:
|
case MENewStream:
|
||||||
stream = (IMFMediaStream *)value.punkVal;
|
stream = (IMFMediaStream *)value.punkVal;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue