Debugging WinRT MFT component


  • I have succesfully built an audio decoder MFT for metro mode.  I used the MPEG1Decoder in the media extensions sample.  Thanks for making it available recently.

    My component builds and I have an app which registers it using RegisterAudioCodec .

    However, the media element says it cannot play the media. (MF_MEDIA_ENGINE_SRC_NOT_SUPPORTED)

    Any suggestions how to debug the WinRT component?  Even printf style debugging would suffice. I don't know if the issue is with registration or something else.  Is there a restriction on Debug/Release WinRT components? I have some trace statements using OutputDebugString.  Where does this message appear?  It is not being run in the same process as the application so I cannot directly debug it.

    Also,  Is there an equivalent of TopoEdit that works in Metro mode? 

    Thursday, March 15, 2012 1:08 AM


  • Hello Conrad,

    By default there is no default source parser for the MPEG1 file format. You mention in your post that you wrote a decoder not a source. This is likely why you are not able to build the underlying Media Foundation topology. I'm assuming that you are using a control like the MediaElemet for your playback. Once you get the topology to resolve correctly for your source format, your MFT will be loaded in process and you will be able to debug it as long as it is part of your Metro style app deployment package and project. In debug mode the topology should be created in the process rather than in the PMP. The ability to optionally build a topology in the process was added in Win 7 and carried over to Win 8.

    I hope this helps,


    Windows Media SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    • Marked as answer by Jesse Jiang Thursday, March 22, 2012 5:35 AM
    Friday, March 16, 2012 11:12 PM