1

I am about to write a C# application that plays webm video files which have VP8 encoded videostreams inside.

Is it possible to do this without having the user to install a DirectShow Filter? i.e. by providing some DLLs with the distribution?

Is this allowed from a licensing point of view?

clamp
  • 33,000
  • 75
  • 203
  • 299

1 Answers1

2

A DirectShow filter is operational once it gets added to filter graph. So you don't necessarily need filter COM registration: you can add it there yourself by explicit call. Then you can instantiate it through COM or otherwise.

If you need standard filter registration just to instantiate the filter, you can leverage reg-free COM or simply load the DLL and obtain its factory through exported DllGetClassObject function.

If however you need DirectShow Intelligent Connect to pick up your decoder automatically, you need either full COM registration or you need to update your code to build your graph with explicit filter adding.

Further reading: Using Filters Without Registration.

Roman R.
  • 68,205
  • 6
  • 94
  • 158
  • Step by step graph building adding and connecting filters + manual load DLL as described in the article - this is what I would do. – Roman R. Jan 26 '15 at 15:25
  • thanks! if i would use MediaFoundation instead of DS. would the process be pretty much the same? – clamp Jan 27 '15 at 14:44
  • Yes, MF is also COM based and similar restrictions apply. So it is up to you to choose between the two (you normally prefer one to the other because of something else). – Roman R. Jan 27 '15 at 15:00