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() ?