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