mf/session: Fail start requests when no topology was set.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2021-07-21 17:27:08 +03:00 committed by Alexandre Julliard
parent 10ba5a90fc
commit b3e321dfd5

View file

@ -841,6 +841,15 @@ static void session_start(struct media_session *session, const GUID *time_format
switch (session->state)
{
case SESSION_STATE_STOPPED:
/* Start request with no current topology. */
if (session->presentation.topo_status == MF_TOPOSTATUS_INVALID)
{
session_command_complete_with_event(session, MESessionStarted, MF_E_INVALIDREQUEST, NULL);
break;
}
/* fallthrough */
case SESSION_STATE_PAUSED:
session->presentation.time_format = *time_format;