From: Conor McCarthy <cmccarthy@codeweavers.com> Enumeration should be enabled for transforms when they have no current type, but since that is not implemented, we can instead pass TRUE to topology_branch_connect(). --- dlls/mf/topology_loader.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/dlls/mf/topology_loader.c b/dlls/mf/topology_loader.c index e343ba2083a..5c846bc0c18 100644 --- a/dlls/mf/topology_loader.c +++ b/dlls/mf/topology_loader.c @@ -436,35 +436,20 @@ static HRESULT topology_branch_connect_decoder(IMFTopology *topology, struct topology_branch down_branch = {.up.node = node, .down = branch->down}; struct topology_branch up_branch = {.up = branch->up, .down.node = node}; MF_CONNECT_METHOD method = MF_CONNECT_ALLOW_CONVERTER; - IMFMediaType *media_type; if (FAILED(IMFActivate_ActivateObject(activates[i], &IID_IMFTransform, (void **)&transform))) continue; IMFTopologyNode_SetObject(node, (IUnknown *)transform); + IMFTransform_Release(transform); IMFTopologyNode_DeleteItem(node, &MF_TOPONODE_TRANSFORM_OBJECTID); if (SUCCEEDED(IMFActivate_GetGUID(activates[i], &MFT_TRANSFORM_CLSID_Attribute, &guid))) IMFTopologyNode_SetGUID(node, &MF_TOPONODE_TRANSFORM_OBJECTID, &guid); hr = topology_branch_connect_down(topology, MF_CONNECT_DIRECT, &up_branch, up_type); - if (down_type && SUCCEEDED(clone_media_type_and_update_from_upstream(down_type, up_type, &media_type))) - { - if (SUCCEEDED(IMFTransform_SetOutputType(transform, 0, media_type, 0))) - method = MF_CONNECT_DIRECT; - IMFMediaType_Release(media_type); - } - IMFTransform_Release(transform); - - if (SUCCEEDED(hr) && method != MF_CONNECT_DIRECT - && SUCCEEDED(IMFTransform_GetOutputAvailableType(transform, 0, 0, &media_type))) - { - if (SUCCEEDED(update_media_type_from_upstream(media_type, up_type))) - IMFTransform_SetOutputType(transform, 0, media_type, 0); - IMFMediaType_Release(media_type); - } if (SUCCEEDED(hr)) - hr = topology_branch_connect(topology, method, &down_branch, !down_type); + hr = topology_branch_connect(topology, method, &down_branch, TRUE); if (SUCCEEDED(hr)) hr = IMFTopology_AddNode(topology, node); if (SUCCEEDED(hr)) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10009