Microsoft DirectX 8.0 |
Adds transitions to an object in Microsoft® DirectShow® Editing Services (DES). This interface is exposed by any object that can have transitions applied to it, including tracks, compositions, and groups. An object that implements this interface can have any number of transitions, but the transitions must not overlap in time.
Note Audio does not support transitions. Objects within audio groups can expose the IAMTimelineTransable interface, but the application should not add transitions to them.Requirements
Requires Qedit.h.
Methods in Vtable Order
IUnknown methods Description QueryInterface Retrieves pointers to supported interfaces. AddRef Increments the reference count. Release Decrements the reference count. IAMTimelineTransable Method Description TransAdd Adds a transition to the object. TransGetCount Retrieves the number of transitions on this object. GetNextTrans Retrieves the first transition that appears at the specified time or later. GetNextTrans2 Equivalent to GetNextTrans, but takes REFTIME values. GetTransAtTime Retrieves the transition nearest to the specified time, according to the specified boundary conditions. GetTransAtTime2 Equivalent to GetTransAtTime, but takes a REFTIME value.
IAMTimelineTransable Interface
Retrieves the first transition that appears at the specified time or later.
Syntax
HRESULT GetNextTrans( IAMTimelineObj **ppTrans, REFERENCE_TIME *pInOut );
Parameters
- ppTrans
- [out] Address of a pointer to receive the transition object's IAMTimelineObj interface.
- pInOut
- Pointer to a variable that specifies the time in 100-nanosecond units. On input, this value specifies the time from which to find the transition. On output, if a transition is retrieved, this value is set to the stop time of the transition.
Return Value
Returns S_OK if the method retrieves a transition, or S_FALSE if it does not find a transition. Otherwise, returns an HRESULT value indicating the cause of the failure.
Remarks
The start time of the transition might be less than the time that you specify in pInOut, if the transition spans the specified time.
If the method returns S_OK, the IAMTimelineObj interface that it returns has an outstanding reference count. Be sure to release the interface when you are finished using it.
IAMTimelineTransable Interface
Retrieves the first transition that appears at the specified time or later. This method is equivalent to GetNextTrans, but takes a REFTIME value.
Syntax
HRESULT GetNextTrans2( IAMTimelineObj **ppTrans, REFTIME *pInOut );
Parameters
- ppTrans
- [out] Address of a pointer to receive the transition object's IAMTimelineObj interface.
- pInOut
- Pointer to a variable that specifies the time in seconds. On input, this value specifies the time from which to find the transition. On output, if a transition is retrieved, this value is set to the stop time of the transition.
Return Value
Returns S_OK if the method retrieves a transition, or S_FALSE if it does not find a transition. Otherwise, returns an HRESULT value indicating the cause of the failure.
IAMTimelineTransable Interface
Retrieves the transition nearest to the specified time, according to the specified boundary conditions.
Syntax
HRESULT GetTransAtTime( IAMTimelineObj **ppObj, REFERENCE_TIME Time, long SearchDirection );
Parameters
- ppObj
- [out] Address of a pointer to receive the transition's IAMTimelineObj interface.
- Time
- Time from which to begin the search, in 100-nanosecond units.
- SearchDirection
- Member of the DEXTERF_TRACK_SEARCH_FLAGS enumerated type that specifies the boundary conditions for the search.
Return Value
Returns one of the following HRESULT values:
S_FALSE No transition was found. S_OK Transition was found. E_INVALIDARG Invalid argument. E_POINTER NULL pointer argument.
Remarks
If the method returns S_OK, the IAMTimelineObj interface that it returns has an outstanding reference count. Be sure to release the interface when you are finished using it.
IAMTimelineTransable Interface
Retrieves the transition nearest to the specified time, according to the specified boundary conditions. This method is equivalent to GetTransAtTime, but takes a REFTIME parameter.
Syntax
HRESULT GetTransAtTime2( IAMTimelineObj **ppObj, REFTIME Time, long SearchDirection );
Parameters
- ppObj
- [out] Address of a pointer to receive the transition's IAMTimelineObj interface.
- Time
- Time from which to begin the search, in seconds.
- SearchDirection
- Member of the DEXTERF_TRACK_SEARCH_FLAGS enumerated type that specifies the boundary conditions for the search.
Return Value
Returns one of the following HRESULT values:
S_FALSE No transition was found. S_OK Transition was found. E_INVALIDARG Invalid argument. E_POINTER NULL pointer argument.
IAMTimelineTransable Interface
Adds a transition to the object. An object can have multiple transitions, but they must not overlap in time. Transitions must fall within the time boundaries of the object.
Syntax
HRESULT TransAdd( IAMTimelineObj *pTrans );
Parameters
- pTrans
- Address of the IAMTimelineObj interface of the transition to add.
Return Value
Returns one of the following HRESULT values:
S_OK Success. E_INVALIDARG Cannot insert the transition. E_NOINTERFACE pTrans is not a pointer to a transition.
Remarks
If the transition overlaps an existing transition, the method returns E_INVALIDARG.
IAMTimelineTransable Interface
Retrieves the number of transitions on this object.
Syntax
HRESULT TransGetCount( long *pCount );
Parameters
- pCount
- Pointer to a variable that receives the number of transitions.
Return Value
Returns S_OK if successful or E_POINTER otherwise.