Filter disconnects after rendering
(too old to reply)
2008-06-02 17:02:01 UTC
I have a filter graph set up to capture video from a Pinnacle Dazzle.
If I merely configure the graph to end in a file writer, everything is
fine and it runs and duly creates an MPEG4 file. If I render the
preview pin on the capture filter, I get a preview of the video, but
only for 60 seconds, and I'd like it to be continuous. To do this, I
thought it would be a simple case of inserting an Infinite Tee filter
onto the capture pin, render one output and send another off to the
file writer.

However, having added the Tee filter to the graph, connected it to the
capture filter and rendered one output pin, the Tee filter detaches
itself from the capture filter. (I'm just using GraphEdit to do
this...) So I re-attach the capturer to the Tee, and the renderer
filters detach! What's going on? If I then render the Tee filter
output pin, it re-attaches the renderer filters and all stays
connected; you can run it and it's fine. And if I try to do all this
programatically, it sometimes works and sometimes doesn't.

Can anybody suggest why this behaviour occurs?


2008-06-03 10:13:38 UTC
I seem to have fixed my problem. The integrity of the filter graph
appears to depend on the order that filters are added and connections

If I do the following, in order, it works in GraphEdit and

Add Crossbar and Dazzle Capture filters and connect together
Add Infinite Tee filter
Connect Capture and Tee filters
Add MPEG4 filters (mux, audio encoder, writer)
Render audio output pin on Caputre filter (auto connects up MPEG4
Render unused pin on Tee filter (auto connects it to mux, but
disconnects from Capture)
Re-connect Capture to Tee
Add video render filter
Connect unused pin on Tee to video render filter