Microsoft DirectX 8.1 (C++) |
DirectShow controls streams of multimedia data through modular components called filters. A filter is a component that takes a media stream as input, does something to it, and passes the result as output. Filters can also combine multiple streams or split one stream into multiple output streams. A filter graph is a collection of filters chained together. Source filters take media data from a source file and introduce it into the filter graph. Rendering filters render the stream as video, audio, or some other type of finished output. The media stream travels from source filter to rendering filter, typically passing through other filters along the way.
A timeline in DES is an abstract description of a video editing project. It specifies the source clips used in the project, their start and stop times, the placement of any effects or transitions, and so forth. By itself, however, the timeline cannot render the video and audio that it represents. This is the function of the render engine. The render engine translates a timeline into a filter graph. The filter graph, when run, renders the projecteither directly to the screen as a preview, or as output to a file. An application manipulates the timeline rather than directly manipulating the filter graph, which would be cumbersome and error prone.