DirectShow play two video files in a sequence?

2019-07-30 07:27发布

问题:

"File Source (Async)" filter supports only one file per it's life. Is the a way to play two files in a sequence without rebuilding a graph?

回答1:

File Source (Async) only supplies random access byte stream to the filter graph, there are other components vital for playback: demultiplexers, decoders. No, it is not possible to enqueue another file through File Source (Async) filter.

Playing multiple files seamlessly otherwise is possible but requires to split graph into parts and connect them together in terms of sending data from one graph (reading from file, the one you rebuild with file change) to the other (with renderers, the one being never rebuilt and providing seamless playback user experience).

Read up other questions on bridging graphs:

  • GMFBridge usage in DirectShow
  • When changing a file name, Recording Start is overdue for 3 seconds.


标签: directshow