Nikolay Sivov (@nsivov) commented about dlls/mf/topology.c:
switch (node_type) { case MF_TOPOLOGY_OUTPUT_NODE: - if (SUCCEEDED(topology_node_get_object(node, &IID_IMFStreamSink, (void **)&stream_sink))) + if (SUCCEEDED(hr = topology_node_get_object(node, &IID_IMFMediaTypeHandler, (void **)&type_handler))) { - hr = IMFStreamSink_GetMediaTypeHandler(stream_sink, &type_handler); - IMFStreamSink_Release(stream_sink); - - if (SUCCEEDED(hr)) - { - hr = IMFMediaTypeHandler_GetCurrentMediaType(type_handler, type); - IMFMediaTypeHandler_Release(type_handler); - } + hr = IMFMediaTypeHandler_GetCurrentMediaType(type_handler, type); + IMFMediaTypeHandler_Release(type_handler);
I there really a requirement to have IMFMediaTypeHandler exposed via QueryInterface() ? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/369#note_3257