[PATCH 1/5] mf/topology: Copy input topology attributes on Load().
Nikolay Sivov
nsivov at codeweavers.com
Mon Apr 12 04:19:51 CDT 2021
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
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));
--
2.30.2
More information about the wine-devel
mailing list