mf/session: Reset END_OF_PRESENTATION flags when stopped.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
0b774df387
commit
6a68e345f8
|
@ -943,6 +943,17 @@ static void session_pause(struct media_session *session)
|
||||||
session_set_paused(session, hr);
|
session_set_paused(session, hr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void session_clear_end_of_presentation(struct media_session *session)
|
||||||
|
{
|
||||||
|
struct media_source *source;
|
||||||
|
|
||||||
|
session->presentation.flags &= ~SESSION_FLAG_END_OF_PRESENTATION;
|
||||||
|
LIST_FOR_EACH_ENTRY(source, &session->presentation.sources, struct media_source, entry)
|
||||||
|
{
|
||||||
|
source->flags &= ~SOURCE_FLAG_END_OF_PRESENTATION;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void session_set_stopped(struct media_session *session, HRESULT status)
|
static void session_set_stopped(struct media_session *session, HRESULT status)
|
||||||
{
|
{
|
||||||
MediaEventType event_type;
|
MediaEventType event_type;
|
||||||
|
@ -957,6 +968,7 @@ static void session_set_stopped(struct media_session *session, HRESULT status)
|
||||||
IMFMediaEventQueue_QueueEvent(session->event_queue, event);
|
IMFMediaEventQueue_QueueEvent(session->event_queue, event);
|
||||||
IMFMediaEvent_Release(event);
|
IMFMediaEvent_Release(event);
|
||||||
}
|
}
|
||||||
|
session_clear_end_of_presentation(session);
|
||||||
session_command_complete(session);
|
session_command_complete(session);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue