2007-06-14 12:03:04 UTC
I am writing a DLL that converts file formats. It is using DShow
graphs to do it. One of the options includs MPEG2 files with AC3
stream(s). When I am adding the AC3 decoder to the graph every thing
seems to be fine, and the graph is built ok, but when I get to
it, IMediaControl::Run() returns - E_FAIL. I save the graph (both
before and after I called Run(), and when I opened it in GraphEdit,
works fine. I tried to close the graph and open the saved graph from
within my code, but I get the same E_FAIL as before.
The same code works with other formats and filters. For example the
exact same code works with MPEG2 with Layer2 audio, the only
difference in the graph is the audio decoder filter.
But again the graph with the AC3 filter works in GraphEdit, but not
my application, and my application works with other codec filters...
any ideas? this is getting frustrating...