Attaching to external DirectShow graphs using Graph Edit

A 1 minute read, Posted on Wed, Sep 14, 2011 In Coding
Tags media, directshow, dotnet

In my day job I work on a product that does a lot of video work and in fact has a custom DirectShow player that gets all our video into WPF.  It plays multiple files all synchronized (a real challenge).

While looking into ways to improve performance I found myself needing to see how my filter graph was being built.  I did a little looking and found that creating an instance of DsROTEntry with a reference to the graph makes it available for external viewing. The code is really quite simple:

RotEntry = new DsROTEntry(graph);

This was all the samples said you needed to do. However, after adding this line the graph still would not be listed in Graph Edit when attempting to connect to a remote graph. I tried all sorts of things (double-checking the app was running 32-bit, etc) to no avail.

After a little digging and research I discovered that there is one additional step; you must register a dll supplied with the windows SDK. The file is proppage.dll and should be in the bin directory of the SDK. This command worked for me:

regsvr32 "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\proppage.dll"

Now any time I need to check my graph it is readily available.

comments powered by Disqus