forked from Mirrors/wine-wine
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
parent
4aafa3c38d
commit
387bf24376
|
@ -539,10 +539,18 @@ static void session_set_topo_status(struct media_session *session, HRESULT statu
|
||||||
if (topo_status == MF_TOPOSTATUS_INVALID)
|
if (topo_status == MF_TOPOSTATUS_INVALID)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (list_empty(&session->topologies))
|
||||||
|
{
|
||||||
|
FIXME("Unexpectedly empty topology queue.\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (topo_status > session->presentation.topo_status)
|
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.vt = VT_UNKNOWN;
|
||||||
param.punkVal = (IUnknown *)session->presentation.current_topology;
|
param.punkVal = (IUnknown *)topology->topology;
|
||||||
|
|
||||||
if (FAILED(MFCreateMediaEvent(MESessionTopologyStatus, &GUID_NULL, status, ¶m, &event)))
|
if (FAILED(MFCreateMediaEvent(MESessionTopologyStatus, &GUID_NULL, status, ¶m, &event)))
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue