Filter Graphs

Started by
1 comment, last by SnT2k 17 years, 1 month ago
I wish to know if there are any resources in implementing Filter Graphs such as DirectShow's filter graphs, Maya's hypergraph or Mac OS X's Quartz editor where a process is broken down into multiple units which interacts with each other. I tried searching for information about these but to no avail, the only results I found were either something about DirectShow or some algorithms about graphs (BFS, DFS, Djikstra etc.) One of my problem in implementing filter graphs is... where do I start and how do I traverse? Since the units can merge or split, tracking the the dependencies on each unit/node will be a pain. Has anyone have any experiences with this and could offer some advise or resources?
Advertisement
Graphedit is (was?) the standard tool for visualising directshow filter graphs. If you want or need to do this manually you can interogate the filters for the appropriate interfaces (input and output pins and property sheets), and the filter graph for interconnects.

Surprisingly connecting filters is very easy - if you have a reasonably standard source and sink you just add the filters you want to the graph and tell it to autoconnect based on the output pin formats of the filters. If you need more control than that (or directshow is doing something stupid like adding the wrong types of intermediate filters) you pretty much have to do the pin connections manually, it's not hard it's just annoying. You certainly don't need to worry about BFS, DFS or Dijkstra, those algorithms are specific to searching for something in a particular graph - DShow has this functionality built into one of the very high level interfaces (IFilterGraph?).
er... you seem to have misunderstood me.

As I was saying, I'm not interested in using DirectShow or using any filter graphs. What I'm interested is how its underlying implementation works. In other words, "how do I do something like that?" I'm trying to make my own audio filter graph and I have no idea how to implement filter graphs.

This topic is closed to new replies.

Advertisement