Nikolay Sivov (@nsivov) commented about dlls/mf/sar.c:
if (FAILED(hr = audio_renderer_collect_supported_types(renderer))) goto failed;
if (FAILED(hr = audio_renderer_create_audio_client(renderer)))
goto failed;
*obj = (IUnknown *)&renderer->IMFMediaSink_iface;
return S_OK;
This is not related to mfmediaengine at all. This function is called when media type is set, and is normally working. This deserves some explanation as to what's different in the media session that media engine creates.