This article introduces cutlists and discusses interfaces that provide cutlist support. For information about the limitations of the current cutlist implementation and sample code for using cutlists in an application, see Using Cutlists.
This article contains the following sections.
A cutlist is a list of audio or video clips (cutlist elements) that can be played back sequentially. For each clip, the cutlist element contains the file name from which to create the clip, and details about the clip, including start and stop time within that file. A cutlist can be either video- or audio-specific, but must all be of the same media type. The beginning time for the clip, relative to the source file, is called the trimin position and the ending time for the clip is the trimout position.
Cutlists are used to edit pieces of AVI and WAV files together. For instance, a video cutlist could contain video clips (elements) with characteristics as follows:
Clip # | File name | Start time | Stop time | Type | Stream # |
---|---|---|---|---|---|
1 | Venus.avi | 5 seconds | 10 seconds | video | 0 |
2 | Mars.avi | 15 seconds | 20 seconds | video | 0 |
3 | Venus.avi | 15 seconds | 30 seconds | video | 0 |
In the preceding example, the first and third clips are both taken from the same file. One clip is from seconds 5 through 10 of Venus.avi, while another is from seconds 15 through 30 of the same file. Between those clips, the cutlist contains seconds 15 through 20 of Mars.avi. All clips are taken from the first video stream (stream 0) in their respective files. The clips play back sequentially (1, 2, and then 3).
Microsoft® DirectShow® defines the following objects that implement the specified interfaces. Applications use these objects and interfaces to create, manipulate, and play cutlists.
Object | Supported interfaces | Description |
---|---|---|
CLSID_SimpleCutList | IStandardCutList | Cutlist object |
CLSID_VideoFileClip | IFileClip | Cutlist element (individual clip) object for video |
CLSID_AudioFileClip | IFileClip | Cutlist element (individual clip) object for audio |
CLSID_CutListGraphBuilder | ICutListGraphBuilder | Cutlist graph builder object |
These interfaces enable application writers to construct filter graphs without having to worry about the specifics of each cutlist object. They provide a simple way to create and manipulate cutlists, and to create a filter graph to play an edited movie in real time. In addition, a single cutlist filter calls these interfaces - the application must be aware of the different cutlist filters that are installed and generate the proper filter graph.
If you need cutlist functionality that the preceding interfaces don't provide, such as detailed cutlist or cutlist element information, see the following interfaces.
Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.