IStandardCutList provides a simple way for an application to feed a cutlist into a cutlist provider (filter).
IStandardCutList::AddElement provides the primary functionality of this interface by taking a pointer to a cutlist element and adding it to the list.
The DirectShow cutlist interfaces define two types of objects: cutlist elements and cutlists. Cutlist elements contain information related to the media from which they are extracted, while cutlists describe the relative time and duration of each element. A cutlist as a collection of cutlist elements. Each cutlist element can in turn expose multiple interfaces - one for each type of attribute.
Applications use the following interfaces to create and manipulate cutlists and their playback.
IStandardCutList |
IFileClip |
ICutListGraphBuilder |
These interfaces generalize cutlist functionality, allowing application writers to construct filter graphs without having to worry about the specifics of each cutlist or effects filter. 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 functionality not provided by the interfaces above, see the following interfaces:
ICutListElement |
IFileCutListElement |
IVideoCutListElement |
IAudioCutListElement |
When to Implement
Do not implement this interface. DirectShow implements it for you.
When to Use
Use this interface in your application to create a whole cutlist out of individual cuts (elements).
Methods in Vtable Order
IUnknown methods | Description |
QueryInterface | Retrieves pointers to supported interfaces. |
AddRef | Increments the reference count. |
Release | Decrements the reference count. |
IStandardCutList methods | Description |
AddElement | Accepts a cutlist element from the application and adds it to the cutlist to be played. |
RemoveElement | Removes an element from a cutlist. (Not currently implemented.) |
GetNextElement | Retrieves the cutlist element that follows the one passed in. |
GetMediaType | Retrieves the clip's media type structure. |
Accepts a cutlist element from the application and adds it to the cutlist to be played.
HRESULT AddElement(
ICutListElement *pElement,
REFERENCE_TIME mtStart,
REFERENCE_TIME mtDuration
);
Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.
Value | Meaning |
E_FAIL | Failure. |
E_INVALIDARG | Argument is invalid. |
E_NOTIMPL | Method is not supported. |
E_OUTOFMEMORY | Could not allocate the element descriptor. |
S_OK | Success. |
This method adds a clip to the end of the clip list. The cutlist will play in the order you add the clips.
Note: Removing clips from the cutlist is not supported.
Removes an element from a cutlist. (Not currently implemented.)
HRESULT RemoveElement(
ICutListElement *pElement
);
Retrieves the cutlist element that follows the one passed in.
HRESULT GetNextElement(
ICutListElement **ppElement
);
Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.
Value | Meaning |
E_FAIL | Failure. |
E_INVALIDARG | Argument is invalid. |
E_NOTIMPL | Method is not supported. |
E_OUTOFMEMORY | Could not allocate required memory. |
S_OK | Success. |
Retrieves the clip's media type structure.
HRESULT GetMediaType(
AM_MEDIA_TYPE *pmt
);
Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.
Value | Meaning |
E_FAIL | Failure. |
E_INVALIDARG | Argument is invalid. |
E_NOTIMPL | Method is not supported. |
E_OUTOFMEMORY | Could not allocate required memory. |
S_OK | Success. |
This method retrieves the media type of all cuts in the cutlist.
Note: The first cut added to a cutlist determines the media type. All other cuts must be of the same media type.
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.