Need a pointer: video/audio graph implementation/designs

Started by
0 comments, last by Tunah 16 years ago
Hello folks, I'm currently working on an audio/video processing application and we are planning to evolve it to an app where you can visually tie processing blocks together. Something like the graphs you can create using graphedt. The problem is that we have no experience in creating such a graph system and google returns nothing usefull when looking for "graph" things. Probably I'm missing some jargon that keeps me from finding the right stuff. So my question to you is: can you give us a pointer to how to set up such a graph system? Can you explain the general design of such a system? Or do you know open source apps/libs that implement such a graph system? thanks in advance.
STOP THE PLANET!! I WANT TO GET OFF!!
Advertisement
Edited to say: I just realized you're not asking how to build DirectShow-graphs but a library to display and modify graphs visually. Sorry about that.

Here are a bunch of interfaces that you will encounter while building and running graphs: IFilterGraph: Create this once, then you'll query it for the interfaces below:
IGraphBuilder: Use this to add filters to your graph. You can tell it to add whatever combination of filters that are needed to render a specific file, or a specific output pin on a source-filter.
IMediaControl: You use this to start/pause/stop the graph once it's built.
IMediaEventEx: This interface lets you receive events that originate from the graph and any of its filters.

Here's some info on building a simple graph. It's a bit dated though, DirectShow has moved to the platform SDK.

http://groups.google.com/group/microsoft.public.win32.programmer.directx.video/topics

If you're working with C#, the following library lets you access a lot of the necessary interfaces. The download also contains a bunch of the samples that the Platform SDK contains (the samples in C++, including DirectShow, are found in the Platform SDK). DirectShowNet

This topic is closed to new replies.

Advertisement