Nikolay Sivov : mf/topology: Copy input topology attributes on Load().
Alexandre Julliard
julliard at winehq.org
Mon Apr 12 16:11:25 CDT 2021
Module: wine
Branch: master
Commit: b75301b471a77bc2aab548163880bd5ace430cd5
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b75301b471a77bc2aab548163880bd5ace430cd5
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Mon Apr 12 12:19:51 2021 +0300
mf/topology: Copy input topology attributes on Load().
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mf/tests/mf.c | 4 ++++
dlls/mf/topology.c | 2 ++
2 files changed, 6 insertions(+)
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c
index df286db6385..458da0cb275 100644
--- a/dlls/mf/tests/mf.c
+++ b/dlls/mf/tests/mf.c
@@ -2109,9 +2109,13 @@ todo_wine {
IMFTopologyNode_Release(sink_node2);
+ hr = IMFTopology_SetUINT32(full_topology, &IID_IMFTopology, 123);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
hr = IMFTopoLoader_Load(loader, full_topology, &topology2, NULL);
ok(hr == S_OK, "Failed to resolve topology, hr %#x.\n", hr);
ok(full_topology != topology2, "Unexpected instance.\n");
+ hr = IMFTopology_GetUINT32(topology2, &IID_IMFTopology, &value);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
IMFTopology_Release(topology2);
IMFTopology_Release(full_topology);
diff --git a/dlls/mf/topology.c b/dlls/mf/topology.c
index 58639a67bdb..bbed2cba893 100644
--- a/dlls/mf/topology.c
+++ b/dlls/mf/topology.c
@@ -2567,6 +2567,8 @@ static HRESULT WINAPI topology_loader_Load(IMFTopoLoader *iface, IMFTopology *in
if (FAILED(hr = MFCreateTopology(&output_topology)))
return hr;
+ IMFTopology_CopyAllItems(input_topology, (IMFAttributes *)output_topology);
+
context.input_topology = input_topology;
context.output_topology = output_topology;
memset(&context.key, 0xff, sizeof(context.key));
More information about the wine-cvs
mailing list