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