Module: wine Branch: master Commit: 39cac934efe495a029faed00fd5608e1e6f6ce62 URL: https://source.winehq.org/git/wine.git/?a=commit;h=39cac934efe495a029faed00f... Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Fri Nov 20 16:21:17 2020 +0300 mf/session: Keep a reference to the original activation object when binding sink nodes. Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- 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); } }