mf: Use original topology instance for both MESessionTopologySet and MESessionTopologyStatus.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
feature/deterministic
Nikolay Sivov 2020-04-10 17:06:24 +03:00 committed by Alexandre Julliard
parent 4aafa3c38d
commit 387bf24376
1 changed files with 9 additions and 1 deletions

View File

@ -539,10 +539,18 @@ static void session_set_topo_status(struct media_session *session, HRESULT statu
if (topo_status == MF_TOPOSTATUS_INVALID)
return;
if (list_empty(&session->topologies))
{
FIXME("Unexpectedly empty topology queue.\n");
return;
}
if (topo_status > session->presentation.topo_status)
{
struct queued_topology *topology = LIST_ENTRY(list_head(&session->topologies), struct queued_topology, entry);
param.vt = VT_UNKNOWN;
param.punkVal = (IUnknown *)session->presentation.current_topology;
param.punkVal = (IUnknown *)topology->topology;
if (FAILED(MFCreateMediaEvent(MESessionTopologyStatus, &GUID_NULL, status, &param, &event)))
return;