I'm using an custom source filter to get a live video stream from the internet, without knowing how it works. This source filter offers two output pins that are audio/video separately. When I just use it to capture the livestream into an avi file, like this:
It worked well. However, when I was trying to do a previewing while still remains capturing, I first added an Infinite Pin Tee Filter between the custom filter and AVI Mux, like this:
Then the graph in GraphEdit just cannot be started (When I clicked the "Start the graph" button, it does nothing and doesn't give any reaction).
(ps: I thought that it's better using an Infinite Tee instead of a Smart Tee here, because that custom filter looks like not a capture filter.)
I've tried to write a Visual-C++ code doing the same thing, just using CoCreateInstance, IGraphBuilder::AddFilter and IGraphBuilder::Connect. To see what's wrong happened and what's the HRESULT is. Then I found the program hung when IMediaControl::Run was called. (The instance of IMediaControl was queried from the instance of IGraphBuilder).
I don't know why it would behave like that, neither do I know how to debug this. So does anyone gives me any help or tip ?
Thank you. :)