windows - Mysterious MFSourceFilter -


few days ago, wanted give media foundation try.

the first thing i've noticed is doesn't play mpeg2 file (at least not on windows 7), however, windows media player 12 does. therefore, i've ran mftrace wmplayer.exe , examined output.

9052,2bf4 14:06:36.00364 cole32exportdetours::cocreateinstance @ created {14d7a407-396b-44b3-be85-5199a0f0f80a} media foundation dshow source resolver (c:\windows\syswow64\mfds.dll) @0984e950 - traced interfaces:  9052,1bec 14:06:36.00450 cole32exportdetours::cocreateinstance @ created {cda42200-bd88-11d0-bd4e-00a0c911ce86} filter mapper2 (c:\windows\syswow64\quartz.dll) @0821b894 - traced interfaces:  9052,2bf4 14:06:36.00723 cole32exportdetours::cocreateinstance @ created {e436ebb3-524f-11ce-9f53-0020af0ba770} filter graph (c:\windows\syswow64\quartz.dll) @081c7dd0 - traced interfaces: igraphbuilder @081c7dd0, imediacontrol @04e6d66c,  9052,2bf4 14:06:36.00741 cole32exportdetours::cocreateinstance @ created {0344ec28-5339-4124-a186-2e8eef168785} mfsourcefilter (c:\windows\syswow64\mfds.dll) @09934228 - traced interfaces:  9052,2bf4 14:06:36.00742 cmfplatexportdetours::mfstartup @ version=0x00020070, dwflags=0x00000000 9052,2bf4 14:06:36.01176 cgraphbuilderdetours::addfilter @081c7dd0 filter: 'mf source filter' 9052,2bf4 14:06:36.01194 cole32exportdetours::cocreateinstance @ created {336475d0-942a-11ce-a870-00aa002feab5} mpeg-i stream splitter (c:\windows\syswow64\quartz.dll) @08084574 - traced interfaces:  9052,2bf4 14:06:36.01238 cole32exportdetours::cocreateinstance @ created {afb6c280-2c41-11d3-8a60-0000f81e0e4a} mpeg-2 demultiplexer (c:\windows\syswow64\mpg2splt.ax) @082003e4 - traced interfaces:  9052,2bf4 14:06:36.01328 cole32exportdetours::cocreateinstance @ created {e1f1a0b8-beee-490d-ba7c-066c40b5e2b9} microsoft dtv-dvd audio decoder (c:\windows\syswow64\msmpeg2adec.dll) @0829c77c - traced interfaces:  9052,2bf4 14:06:36.04667 cole32exportdetours::cocreateinstance @ created {212690fb-83e5-4526-8fd7-74478b7939cd} microsoft dtv-dvd video decoder (c:\windows\syswow64\msmpeg2vdec.dll) @082c04bc - traced interfaces:  9052,2bf4 14:06:36.04668 cgraphbuilderdetours::addfilter @081c7dd0 filter: '' 

it seems they're creating media source uses directshow. they're building directshow graph mfsourcefilter which, guess, passing decoded audio/video information media foundation. because searching web mfsourcefilter doesn't @ all, wondering if has used mfsourcefilter before , should started.

(i've read question decode mpeg1/2 video media foundation doesn't contain i'm looking for.)

wmp uses media foundation, , if unlucky, detours via directshow.

here sample wmp playback mpeg-2 file in windows 7. windows media player built directshow graph internally , picked on of available mpeg-2 decoders.

enter image description here

this actual playback backed directshow entirely, source on playback regular file source (async) filter. wmp might using filter in question obtain information (esp. media types) involved in playback or other reasons specific internal implementation. possibly trying substitute source of media play, see filter removed , regular directshow playback remains.

the bottom line media foundation directshow wrapper , source resolver exist, not documented, used wmp temporarily (possibly used mf transparently) , not used on actual playback. hence, nothing reuse @ moment.

one of possible scenarious filter can think of build internal directshow topology provide metadata information mf client.


Comments

Popular posts from this blog

html5 - What is breaking my page when printing? -

c# - must be a non-abstract type with a public parameterless constructor in redis -

ajax - PHP/JSON Login script (Twitter style) not setting sessions -