I'm using Windows Media Player ActiveX control in C# application. Also I have third-party DirectShow filter (Wasabi Marlin) which I need to use for video playback. As far as I know, the Windows Media Player is able to use DirectShow filters. How can I provide the filter to WMP control? I searched in control's object model but didn't find anything useful...
Asked
Active
Viewed 1,041 times
1 Answers
1
Note that Windows Media Player attempts to use Media Foundation first, and if failed to play the file back, it falls back to DirectShow.
When WMP requests DirectShow to render a file, filter graph manager goes through existng file and protocol associations in order to pick proper source filter. That is, the filter of interest needs to be registered as described in the following MSDN topic:
It can be file extension registration, or custom protocol handler. See also relevant discussion on MSDN Forums:

Roman R.
- 68,205
- 6
- 94
- 158
-
Thanks. As far as I understand, the filter registration is system-wide so any other DirectShow player will be able to use that filter, right? Is there a way to provide the filter only for the WMP instance in my application, so neither WMP launched separately nor any other player can use it? – Aleksey Shubin Dec 09 '12 at 10:05
-
I am afraid the registrations are system wide. Leading a specific slave embedded copy of WMP another way is not something available by design in first place (that is, requires certain amount of hooks and hackery). Perhaps a better method would be to not embed WMP and use media APIs directly to play a filter graph of your interest. – Roman R. Dec 10 '12 at 15:51