DirectShow Graph examples
This DirectShow Graph illustrates the way a VOB-file (DVD) is being played/rendered with DirectShow:

- 1. Source Filter
- In this case the VOB-file is the container. It contains MPEG2 Video, AC3 Audio (Dolby Digital) and subtitles.
- The Source Filter (quartz.dll) reads the data from the VOB-file and transfers this data to the MPEG Splitter.
- 2. Splitter
- The MPEG Splitter separates the video stream (MPEG2), the audio stream (AC3) and the subtitles from the VOB-file/container.
- Then it transfers the encoded/encrypted video and subtitles to the MPEG2 Video Decoder and the encoded/encrypted audio
- to the AC3 Audio Decoder.
- 3. Decoder
- The MPEG2 Video Decoder decodes/decrypts the MPEG2 Video, puts the subtitle stream on top of the video stream
- and transfers both decoded/decrypted video streams to the Video Renderer.
- The AC3 Audio Decoder decodes/decrypts the AC3 Audio and transfers the decoded/decrypted audio to the Audio Renderer.
- 4. Renderer
- Just like the Audio Renderer, the Video Renderer is the link between DirectShow and your hardware video driver.
- It's capable of transferring any type of decoded/decrypted video to your hardware video driver for you to watch.
- The Video Renderer plays/renders both decoded/decrypted video streams (MPEG2 Video with subtitles on top).
- The Audio Renderer plays/renders the decoded/decrypted AC3 Audio.
With your favorite DirectShow media player you can also take a look at the DirectShow Graph of this VOB-file:
This DirectShow Graph illustrates the way a MKV-file is being played/rendered with DirectShow:

- 1. Source Filter
- In this case the MKV-file is the container. It contains H.264 Video, DTS Audio (Digital Theater System) and subtitles in English
- and Dutch for instance. The Source Filter (quartz.dll) reads the data from the MKV-file and transfers this data to the MKV Splitter.
- 2. Splitter
- The MKV Splitter separates the video stream (H.264), the audio stream (DTS) and both subtitles from the MKV-file/container.
- Then it transfers the encoded/encrypted video and subtitles to the H.264 Video Decoder and the encoded/encrypted audio
- to the DTS Audio Decoder.
- 3. Decoder
- The H.264 Video Decoder decodes/decrypts the H.264 Video, puts one subtitle stream on top of the video stream
- and transfers both decoded/decrypted video streams to the Video Renderer.
- The DTS Audio Decoder decodes/decrypts the DTS Audio and transfers the decoded/decrypted audio to the Audio Renderer.
- 4. Renderer
- The Video Renderer plays/renders both decoded/decrypted video streams (H.264 Video with one of the subtitles on top).
- The Audio Renderer plays/renders the decoded/decrypted DTS Audio.
With your favorite DirectShow media player you can also take a look at the DirectShow Graph of this MKV-file:
This DirectShow Graph illustrates the way a MPC-file is being played/rendered with DirectShow:

- 1. Source Filter
- In this case you can't really speak of a container, because there's no Splitter or Decoder involved anymore.
- The Source Filter quartz.dll can't read this MPC-file and so another Source Filter is needed.
- The BASS Source Filter itself is capable of handling the entire MPC file.
- It reads, decodes/decrypts and transfers the decoded/decrypted audio directly to the Audio Renderer.
- (DirectShow Graphs of all BASS Source Filter supported audio files will look the same).
- 2. Renderer
- The Audio Renderer plays/renders the decoded/decrypted MPC Audio.
With your favorite DirectShow media player you can also take a look at the DirectShow Graph of this MPC-file: