Hi
I put together a rough patch for logging DirectShow graphs to .dot files in /tmp, which can be visually examined with Graphviz tools.
Eg.: Add log_graph() in strategic places, like calls to AddFilter(), Connect(), Disconnect(). Run the application. $ dot /tmp/graph-0.dot -Tpdf -o /tmp/x.pdf && xdg-open /tmp/x.pdf
An example graph is also attached.
It's not intended for inclusion in the tree, but rather to experiment further and gather ideas about how to debug DirectShow graphs better. Should we have a debug channel that launches a graph viewer and stops that thread until the viewer exits, that can be used for interactive debugging? Is there a library that could be used instead, with with superior capabilities, eg. to examine media formats on pins? Is there a way to draw graphs in ASCII?
Damjan