Timeline Objects
Microsoft DirectShow 9.0 |
Timeline Objects
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 |