Log in

View Full Version : Understand ffdshow code


David1105
20th November 2006, 19:33
Why the compiled ffdshow.ax can NOT be inserted into a graph using GraphEdit on my machine but it WORKS on others machines (I just tested this!).

I just found the relevant code in ffdshow.ax which return 0x80040217.

In TffdhsowBase.cpp,

HRESULT TffdshowBase::onGraphJoin(IFilterGraph *pGraph)
{
if (!config.isDecoder[IDFF_MOVIE_MPLAYER])
{
return VFW_E_CANNOT_CONNECT;
}
...
}

What's "mp3lib"? Why it's checked here?

_xxl
20th November 2006, 21:10
I don't understand...
ffdshow doesn't work without libavcodec.dll & libmplayer.
Mp3lib is located in libmplayer.

David1105
21st November 2006, 01:13
I have been experiencing a problem with ffdshow and would like to understand the code of ffdshow so to find a solution for the problem.

Would someone give me some pointers on the source code of ffdshow possibly related to the problem?


The graph showing the problem:

File Source (Input.AVI: 640 x 480/RGB24) -> Avi Splitter -> ffdshow raw video filter -> AVI Mux -> File Writer (Output.AVI 320 x 240/RGB32 or RGB24)

Note that Input.AVI is of RGB24 but Output.AVI of either RGB32 or 24, whenever resizing, Output.AVI plays back with black window on top of the video window (you can tell by playing back the output file and see the uncovered part of movie being played).

clsid
21st November 2006, 16:01
Right-click on "AVI Mux" and select "Filter Properties". Then click on Apply. That solved the 'bug' for me.

David1105
21st November 2006, 19:23
I just tried what you suggested...however it didn't work. Did you change some setting in "Filter Properties" of "AVI Mux"?

I just found that this problem only with ffdshow.ax of File Version: 1.0.2.2002 (Dtae: 26/07/2006 - 14:03:27UTC).

ffdshow.ax of File Version: 1.0.2.2179 (Date: 16/10/2006 - 17:45:06UTC) does have such problem.

Also, the compiled one from the source code also doesn't show the problem. Guess the problem has been fixed after July, 2006.

David1105
21st November 2006, 21:54
I downloaded source code of ffdshow from:

https://svn.sourceforge.net/svnroot/ffdshow/trunk

Is this the right place for latest code?

Using SVN subversion client...

When checking out source code, should check "Only check out the top folder" and "Omit externals"?

For "Revision", should click on "HEAD revision" or "Revision"?

Thanks!

bond
21st November 2006, 23:31
David1105, keep your questions in one thread

foxyshadis
21st November 2006, 23:36
ffdshow has died and been forked to ffdshow-tryout, so check it out with its url instead. You should get HEAD unless you really need a specific revision (for testing when something stopped working and why, for instance). The other options aren't necessary.

David1105
23rd November 2006, 00:27
Should it be from: svn co https://svn.sourceforge.net/svnroot/ffdshow-tryout ???

I'm asking this since this page (http://sourceforge.net/svn/?group_id=173941) says:

"...the following instruction set:

svn co https://svn.sourceforge.net/svnroot/ffdshow-tryout ffdshow-tryout"

David1105
23rd November 2006, 00:46
The connection cannot be made between the source filter/AVI splitter and ffdshow Video Decoder. The error is:

0x80040217 No combination of intermediate filters...

This happens only using the compiled ffdshow.ax of the source code from:

https://svn.sourceforge.net/svnroot/ffdshow-tryout

Also, the registered ffdhsow.ax's "Codecs/Raw video" is set to "All supported."

The binary ffdshow.ax of File Version: 1.0.2.2179 (Date: 16/10/2006 - 17:45:06UTC, downloaded from SourceForge) does NOT have such problem.

Is the above URL has the source code later than the building 1.0.2.2179?

bond
23rd November 2006, 23:15
striked for 16