The IDvdGraphBuilder interface enables you to easily build a filter graph for DVD-Video playback.
Note This interface is not currently implemented.
When to Implement
Do not implement this interface. DirectShow's DVD-Video graph builder object implements it for you.
When to Use
Use this interface in your application to build a filter graph for DVD-Video playback.
Methods in Vtable Order
IUnknown methods | Description |
QueryInterface | Returns pointers to supported interfaces. |
AddRef | Increments the reference count. |
Release | Decrements the reference count. |
IDvdGraphBuilder methods | Description |
GetFiltergraph | Retrieves the IGraphBuilder interface for the filter graph used by the DVD-Video graph builder object. |
GetDvdInterface | Retrieves specific interface pointers in the DVD-Video playback graph to make DVD-Video playback development easier. |
RenderDvdVideoVolume | Completes building a filter graph according to user specifications for playing back a DVD-Video volume. |
Retrieves the IGraphBuilder interface for the filter graph used by the DVD-Video graph builder object.
HRESULT GetFiltergraph(
IGraphBuilder **ppGB
);
Returns an HRESULT value that depends on the implementation of the interface. The current DirectShow implementation returns E_INVALIDARG if ppGB is invalid.
Remember to release the IGraphBuilder interface by using the following code when you're done with it:
*ppGB->Release();
Retrieves specific interface pointers in the DVD-Video playback graph to make DVD-Video playback development easier.
HRESULT GetDvdInterface(
REFIID riid,
void **ppvIF
);
Returns an HRESULT value that depends on the implementation of the interface.
The current DirectShow implementation return values include the following:
Value | Meaning |
E_INVALIDARG | The ppvIF parameter is invalid. |
E_NOINTERFACE | The riid parameter value is not supported. |
VFW_E_DVD_GRAPHNOTREADY | Graph has not been built through the IDvdGraphBuilder::RenderDvdVideoVolume method. |
You'll typically use this method to get the IDvdControl interface to control playback of a DVD-Video volume, or to get the IAMLine21Decoder interface to turn closed captioning on and off.
Remember to release the interface by using the following code when you're done with it:
*ppvIF->Release();
Completes building a filter graph according to user specifications for playing back a DVD-Video volume.
HRESULT RenderDvdVideoVolume(
LPCWSTR lpcwszPathName,
DWORD dwFlags,
AM_DVD_RENDERSTATUS *pStatus
);
Returns an HRESULT value that depends on the implementation of the interface. The current DirectShow implementation return values include the following:
Value | Meaning |
E_INVALIDARG | The dwFlags parameter specifies conflicting options or pStatus is a bad pointer. |
S_FALSE | Graph has been built, but not perfectly. The pStatus parameter provides details of the problem(s). |
S_OK | Success. Playback graph built successfully, all streams rendered, and the DVD-Video volume was specified or found. |
VFW_E_DVDDEC_NOTENOUGH | AM_DVD_HWDEC_ONLY or AM_DVD_SWDEC_ONLY was specified and there weren't enough hardware or software decoders to decode all streams. This error might be removed in the future. |
VFW_E_DVDGRAPH_RENDERFAIL | Some basic error occurred in building the graph. Possibilities include the DVD Navigator filter or the video or audio renderer not instantiating, a trivial connection or pin enumeration failing, or none of the streams rendering. |
The AM_DVD_RENDERSTATUS structure reflects failure codes for this method. Reasons for this method returning S_FALSE include the following:
This method builds the graph without any knowledge of the DVD-Video file or volume to play back. The DVD-Video graph builder builds the graph even if lpwszPathName is NULL or if the DVD Navigator filter does not find a default DVD-Video volume to play back. An application can later specify the volume by using the IDvdControl::SetRoot method.
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.