locked
Codec / format diff between WMP12 and IMFSourceReader RRS feed

  • Question

  • Hi,

    is there a difference between the format / codec support in Windows Media Player 12 and the format / codec support using IMFSourceReader API?

    I have a lot of AVI video files (e. g. with DV codec id dvsd, 720x576) which can be playback by the Windows Media Player but can not be opened by the IMFSourceReader.

    IMFSourceReader* reader = nullptr;
    HRESULT hr = MFCreateSourceReaderFromURL (wstring.data (), NULL, &reader);

    The return value from MFCreateSourceReaderFromURL is "hr = 0xc00d36c4 : The byte stream type of the given URL is unsupported".

    Are there any information showing these format / codec differencies?

    best regards

    saoirse


    • Edited by saoirse Thursday, June 2, 2016 7:47 AM format change
    Thursday, June 2, 2016 7:46 AM

Answers

  • Windows Media Player 12 is trying Media Foundation to build playback pipeline and, if fails, falls back to DriectShow. This reason alone is one of the scenarios when WMP can do what IMFSourceReader cannot.

    Specifically in case of DV AVI files, SDK TopoEdit and Windows 10 Movies & TV player are unable to play failing with mentioned MF error code. WMP, however, opens the file but it's also clear that it builds DirectShow pipeline of this kind:


    http://alax.info/blog/tag/directshow


    • Edited by Roman Ryltsov Thursday, June 2, 2016 7:56 AM
    • Marked as answer by saoirse Thursday, June 2, 2016 8:30 AM
    Thursday, June 2, 2016 7:50 AM

All replies

  • Windows Media Player 12 is trying Media Foundation to build playback pipeline and, if fails, falls back to DriectShow. This reason alone is one of the scenarios when WMP can do what IMFSourceReader cannot.

    Specifically in case of DV AVI files, SDK TopoEdit and Windows 10 Movies & TV player are unable to play failing with mentioned MF error code. WMP, however, opens the file but it's also clear that it builds DirectShow pipeline of this kind:


    http://alax.info/blog/tag/directshow


    • Edited by Roman Ryltsov Thursday, June 2, 2016 7:56 AM
    • Marked as answer by saoirse Thursday, June 2, 2016 8:30 AM
    Thursday, June 2, 2016 7:50 AM
  • Hi Roman,

    thanks for this useful answer. Do you know where I can find some more information about which AVI DV files are supported by Media Foundation - to get a clue about the requirements  of the video files?

    Thursday, June 2, 2016 8:17 AM
  • My understanding is that DV Type 1 (MEDIATYPE_Interleaved, MEDIASUBTYPE_dvsd in DirectShow terms) are not supported in Media Foundation and in DirectShow they require additional use of DV Splitter.

    DV Type 2 are okay for Media Foundation and are played through stock DV Decoder MFT.


    http://alax.info/blog/tag/directshow

    Thursday, June 2, 2016 8:23 AM
  • thanks again for the information. I have found a suitable page (https://msdn.microsoft.com/en-us/library/windows/desktop/dd388641%28v=vs.85%29.aspx) where the differences between Type 1 and Type 2 are explained. The  DV Video Decoder can only be used with Type 2.

    Thursday, June 2, 2016 8:29 AM