At the moment I'm developing a DirectShow application that helps users configuring their TV capture cards. This configuration will later be used in another program.
I use the ICaptureGraphBuilder2::RenderStream method to render both video and audio. The source of my graph depends on which device the user selected, but this is mostly a device in the category WDM Video Capture Filter.
Here's my problem. Some devices won't work, because they need more than just a source filter. For example, I have a webcam that has a seperate filter for the audio. Another example, I have a TV tuner card that has it's own Encoder/Mux.
Since my application is supposed to work with most of the capture devices out there, is there a generic way to detect if there are, next to the source filter, additional filters required for the graph to work?
I could enumerate through all filters and check if their names are similar to each other, but names can't be trusted...