srcfilter.exe loads a DLL containing a DirectShow SourceFilter, and pulls a source file through the DLL, saving it to a destination file. For example, to test the URL File Source Filter that ships with DirectX, you could pull a URL through the DLL, and compare the results against the same file written to disk by other URL fetching tools like curl or wget.
Yes. srcfilter was originally designed to run under Wine. A side benefit is that it also works under native Windows. The general purpose is to test Windows SourceFilter DLLs under Linux.
srcfilter simply uses the published DirectShow APIs too open, load, and process a file using a IFileSourceFilter class contained in a DLL. There's absolutely nothing fancy about the implementation. Thanks to many people working on MPlayer and Wine, all of these interfaces are available on Linux as well.
You have no idea. But hey, it works, and it works in Wine.
To build srcfilter yourself, download the source code and Makefile above. Modify the Makefile for your installation of mingw32, and run make srcfilter.exe
To test a SourceFilter DLL, you will need:
srcfilter.exe -f SomeFilter.DLL -c '{01234567-0123-0123-0123-456789ABCDEF}' -o /tmp/somewhere -x outext SomeTestFile.inextThis will read SomeTestFile.inext through the SourceFilter with the CLSID {01234567-0123-0123-0123-456789ABCDEF} found in the DLL SomeFilter.DLL, writing all output to the file /tmp/somewhere/SomeTestFile.outext