[v2 PATCH 2/3] mf/session: Keep a reference to the original activation object when binding sink nodes.

Nikolay Sivov nsivov at codeweavers.com
Fri Nov 20 07:21:17 CST 2020


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/mf/session.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/dlls/mf/session.c b/dlls/mf/session.c
index 4821ed5c90a..0381917826a 100644
--- a/dlls/mf/session.c
+++ b/dlls/mf/session.c
@@ -32,6 +32,10 @@
 
 #include "mf_private.h"
 
+#include "initguid.h"
+
+DEFINE_GUID(_MF_TOPONODE_IMFActivate, 0x33706f4a, 0x309a, 0x49be, 0xa8, 0xdd, 0xe7, 0xc0, 0x87, 0x5e, 0xb6, 0x79);
+
 WINE_DEFAULT_DEBUG_CHANNEL(mfplat);
 
 enum session_command
@@ -683,6 +687,9 @@ static HRESULT session_bind_output_nodes(IMFTopology *topology)
                         IMFMediaSink_Release(media_sink);
                     }
 
+                    if (SUCCEEDED(hr))
+                        IMFTopologyNode_SetUnknown(node, &_MF_TOPONODE_IMFActivate, (IUnknown *)activate);
+
                     IMFActivate_Release(activate);
                 }
             }
-- 
2.29.2




More information about the wine-devel mailing list