Timeline Objects
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
[This API is not supported and may be altered or unavailable in the future.]
Each type of object in the timeline—source, track, effect, and so forth—is a distinct COM object. However, an application does not create them using the CoCreateInstance function. Instead, it calls the IAMTimeline::CreateEmptyNode method. This method creates an object of the requested type, initializes it, and returns a pointer to the object. For details, see Constructing a Timeline.
Every timeline object exposes the IAMTimelineObj interface. In addition, the various object types support their own specialized interfaces:
- Source: IAMTimelineSrc
- Track: IAMTimelineTrack
- Composition: IAMTimelineComp
- Group: IAMTimelineComp, IAMTimelineGroup
- Effect: IAMTimelineEffect
- Transition: IAMTimelineTrans
Note that groups are a type of composition, so they support IAMTimelineComp, as well as their own IAMTimelineGroup interface.
In addition to the interfaces listed previously, timeline objects expose other, secondary interfaces. These interfaces determine the relationships between the object types.
Interface | Meaning | Exposed By |
---|---|---|
IAMTimelineVirtualTrack | The object is a virtual track. Virtual tracks can reside inside compositions and hold other timeline objects. | Composition, Track |
IAMTimelineEffectable | The object can have effects. | Composition, Track, Source |
IAMTimelineTransable | The object can have transitions. | Composition, Track |
IAMTimelineSplittable | The object can be split into two objects. | Track, Source, Effect, Transition |
Related topics