Module: wine Branch: master Commit: 68b5a0574c8ad6d1df27b3641f6be7ecbb6d4f4d URL: https://source.winehq.org/git/wine.git/?a=commit;h=68b5a0574c8ad6d1df27b3641...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Tue Jun 2 11:43:42 2020 +0300
mf/session: Handle source buffering events.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/mf/session.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/dlls/mf/session.c b/dlls/mf/session.c index ba30733fe5..39b5e1a537 100644 --- a/dlls/mf/session.c +++ b/dlls/mf/session.c @@ -2867,6 +2867,23 @@ static HRESULT WINAPI session_events_callback_Invoke(IMFAsyncCallback *iface, IM LeaveCriticalSection(&session->cs);
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: stream = (IMFMediaStream *)value.punkVal;