Click to See Complete Forum and Search --> : DirectShow DVD interface filters


imposterrific
June 11th, 2004, 06:48 PM
I'm writing a DVD application and have already got it working. However I would like to specify exactly which filters are placed in the graph to improve consistency over multiple machines.

If I were using an IGraphBuilder I would be able to specify the filters easily, but it requires me to specify a source file. When playing a DVD I just want it to read from the DVD drive.

I use IDvdGraphBuilder to create various interfaces and it will automatically create the graph filter (without specifying a source file) using RenderDvdVideoVolume. However, I haven't found any way to create filters with IDvdGraphBuilder as you can with IGraphBuilder.

Do I just specify filters using the IGraphBuilder? And if so, is there an easy way to specify which GUIDs get loaded? Thanks for your help.
Jeff

imposterrific
June 15th, 2004, 06:21 PM
I found some great hints at:

http://www.flipcode.com/tutorials/tut_dshow03.shtml

However when I use CoCreateInstance(CUSTOM_GUID,...); I get a null object on my IBaseFilter pointer pointer. My GUID definition looks like this:

DEFINE_GUID(CUSTOM_GUID,0x9B8C4620,0x2C1A,0x11D0,0x84,0x93,0x00,
0xA0,0x24,0x38,0xAD,0x48);

the GUID I have hard coded there is the GUID for a Dvd video decoder which I did not create myself. Can anyone see what I'm doing wrong?

-Jeff

imposterrific
June 16th, 2004, 01:07 PM
To further complicate matters, my call to CoCreateInstance returns none of the 4 possible return codes but instead gives E_FAIL.