[This API is not supported and may be altered or unavailable in the future.]
Sources, effects, and transitions have internal pointers to other COM objects, called subobjects. The subobject performs the actual work of the object. The subobject of a source is the component that creates the video or audio data. The subobject of an effect or transition is the component that transforms the data; for example, in a video effect, it creates the visual effect in the video stream.
The type of subobject depends on the type of object:
- Source: Any DirectShow source filter or parser filter that supports seeking and produces a format that DES supports. It can be a compressed format if DirectShow filters exist to decode it.
- Effect: For video, any 2-D one-input Microsoft® DirectX® Transform object. For audio, any DirectShow audio effect filter.
- Transition: For video, any 2-D two-input DirectX Transform object. Audio does not support transitions.
Groups, compositions, and tracks do not have subobjects.
The application does not directly set the subobject pointer. For effects and transitions, the application calls the IAMTimelineObj::SetSubObjectGUID method to specify the GUID of the subobject. For source objects, an application typically calls the IAMTimelineSrc::SetMediaName to specify the name of a source file. However, the SetSubObjectGUID method can also be used for source objects, to specify the class identifier (CLSID) of a filter.