IDvdGraphBuilder::RenderDvdVideoVolume
Microsoft DirectShow 9.0 |
IDvdGraphBuilder::RenderDvdVideoVolume
The RenderDvdVideoVolume method completes building a filter graph according to user specifications for playing a DVD-Video volume.
Syntax
HRESULT RenderDvdVideoVolume( LPCWSTR lpcwszPathName, DWORD dwFlags, AM_DVD_RENDERSTATUS *pStatus );
Parameters
lpcwszPathName
[in] Pointer to the path for the DVD-Video volume to play. Can be NULL.
dwFlags
[in] Bitwise OR of flags from AM_DVD_GRAPH_FLAGS enumeration, specifying how to build the DVD playback graph.
pStatus
[out] Pointer to a AM_DVD_RENDERSTATUS structure. When the method returns, the structure indicates any rendering failures.
Return Values
Returns an HRESULT value that depends on the implementation of the interface. The DirectShow implementation return values include the following:
Return code | Description |
E_INVALIDARG | The dwFlags parameter specifies conflicting options. |
S_FALSE | The method partially succeeded. To find out which errors occurred, examine the pStatus parameter. |
S_OK | The method succeeded, and all streams were rendered. |
VFW_E_DVD_DECNOTENOUGH | One or more streams could not be rendered.
If you specified the AM_DVD_HWDEC_ONLY or AM_DVD_SWDEC_ONLY flag in the dwFlags parameter, try calling the method again with the AM_DVD_HWDEC_PREFER or AM_DVD_SWDEC_PREFER flag. |
VFW_E_DVD_NON_EVR_RENDERER_IN_FILTER_GRAPH | The filter graph already contains a video renderer. The method returns this error code if you specify the AM_DVD_EVR_ONLY flag in the dwFlags parameter but the graph already contains a video renderer other than the Enhanced Video Renderer (VMR) filter. |
VFW_E_DVD_RENDERFAIL | An error occurred while building the graph. For example, the DVD Graph Builder could not create a required filter or could not render any of the streams. |
VFW_E_DVD_TOO_MANY_RENDERERS_IN_FILTER_GRAPH | The filter graph contains more than one video renderer. |
Remarks
The AM_DVD_RENDERSTATUS structure reflects failure codes for this method. Reasons for this method returning S_FALSE include the following:
- The graph has been completely built, but one of the following is true.
- Overlay mixing doesn't workâthe application did not set the AM_DVD_NOVPE flag and the video stream could not be put through the Overlay Mixer. In this case, if the video is decoded in software the application will have enough information to inform the user that the video won't be visible. Hardware-decoded video will be visible only on a TV connected to the NTSC out port of the hardware video decoder.
- The video decoder does not produce line 21 data. The application can display a warning or informative message that closed captioning is not available because of the decoder.
- No volume path is specified and the DVD Navigator did not locate any DVD-Video volume to be played. The application can ask the user to insert a DVD-Video disc if none is available in the drive when playback starts.
- Some streams did not render. The application can indicate to the user that some streams can't be played.
This method builds the graph without any knowledge of the DVD-Video file or volume to play. The DVD-Video graph builder builds the graph even if lpcwszPathName is NULL or if the DVD Navigator filter does not find a default DVD-Video volume to play.
Requirements
Header: Declared in Strmif.h; include Dshow.h.
Library: Use Strmiids.lib.
See Also