I work on Firefox and wrote our code that uses Media Foundation for H.264/AAC/MP4 and MP3 playback in HTML5 <video>.
Firefox calls MFTEnumEx so that it can enumerate and disable all the codecs except the ones that we want to be available in the <video> element. This is so that those codecs we don't want to expose won't be able to be instantiated when we call MFCreateSourceReaderFromByteStream(). This is to limit video codec proliferation on the web, and to minimize our attack surface as much as possible.
Unfortunately for some reason MFTEnumEx is crashing on some Windows 7 systems. Here's our tracking bug for this:
http://bugzilla.mozilla.org/show_bug.cgi?id=858667
I can't reproduce this crash myself, but we have numerous crash reports from our users who have experienced this bug: http://bit.ly/13r9dkM
I also note that a similar crash occurs in the Chrome browser:
http://code.google.com/p/chromium/issues/detail?id=178490
My code that calls MFTEnumEx is here:
http://mxr.mozilla.org/mozilla-central/source/content/media/wmf/WMFUtils.cpp#233
My questions:
- Does the Windows Media Foundation team know about this crash in MFTEnumEx already?
- Is this bug in MFTEnumEx likely to be patched at any time in the future?
- Is there another way I can disable codecs that we don't want to expose, so that I can work around this problem? (I'm already setting the MIME type on the IMFByteStream before calling
MFCreateSourceReaderFromByteStream).