TalanSoft Toolkits  201707
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | List of all members
iVideoDecoder Struct Referenceabstract
Inheritance diagram for iVideoDecoder:
iUnknown

Detailed Description

Video decoder interface.

Public Member Functions

virtual const acharGetVideoDecoderName () const =0
 Get the name of the decoder used. {Property}. More...
 
virtual tF64 GetVideoFps () const =0
 Get the original number of frames per second of the video. {Property}. More...
 
virtual tVideoDecoderFlags GetFlags () const =0
 Get the decoder flags. {Property}. More...
 
virtual tF64 GetLength () const =0
 Get the video's length. More...
 
virtual void SetTime (tF64 afTime)=0
 Set the current time. More...
 
virtual tF64 GetTime () const =0
 Get the current time. More...
 
virtual void SetPause (tBool abPause)=0
 Set pause. More...
 
virtual tBool GetPause () const =0
 Get the pause status. More...
 
virtual void SetSpeed (tF32 afSpeed)=0
 Set the time's speed. More...
 
virtual tF32 GetSpeed () const =0
 Get the time's speed. {Property}. More...
 
virtual void SetNumLoops (ni::tU32 anLoop)=0
 Set the number of time the time should loop. {Property}. More...
 
virtual ni::tU32 GetNumLoops () const =0
 Get the number of loop. {Property}. More...
 
virtual tBool Update (tBool abUpdateTarget, tF32 afFrameTime)=0
 Update the video. More...
 
virtual iTextureGetTargetTexture ()=0
 Get the target texture. {Property}. More...
 
virtual iBitmap2DGetTargetBitmap ()=0
 Get the target bitmap. {Property}. More...
 
virtual tU32 GetNumSoundTracks () const =0
 Get the number of sound tracks attached to the video. {Property}. More...
 
virtual iUnknownGetSoundTrackData (tU32 anNumTrack)=0
 Get a sound data of a track associated with the video. {Property}. More...
 
virtual void SetUpdateOnBind (tBool abUpdateOnBind)=0
 Set whether the video should automatically be updated when bound for rendering. {Property}. More...
 
virtual tBool GetUpdateOnBind () const =0
 Get whether the video should automatically be updated when bound for rendering. {Property}. More...
 
- Public Member Functions inherited from iUnknown
virtual tBool IsOK () const =0
 Check if the object is valid. More...
 
virtual tI32 AddRef ()=0
 Signal that one more reference of the object has been created. More...
 
virtual tI32 Release ()=0
 Release a reference of the object. More...
 
virtual void DeleteThis ()=0
 Bypass any reference counting and delete this object. More...
 
virtual void Invalidate ()=0
 Invalidate the object. More...
 
virtual iUnknownQueryInterface (const tUUID &aIID)=0
 Query an interface. More...
 
virtual void ListInterfaces (iMutableCollection *apLst, tU32 anFlags) const =0
 Fill a UUID list containing the UUIDs of the implemented interfaces. More...
 
virtual tI32 SetNumRefs (tI32 anNumRefs)=0
 Set the reference counter directly. More...
 
virtual tI32 GetNumRefs () const =0
 Get the number of references to this object. More...
 

Member Function Documentation

virtual const achar* GetVideoDecoderName ( ) const
pure virtual

Get the name of the decoder used. {Property}.

virtual tF64 GetVideoFps ( ) const
pure virtual

Get the original number of frames per second of the video. {Property}.

virtual tVideoDecoderFlags GetFlags ( ) const
pure virtual

Get the decoder flags. {Property}.

virtual tF64 GetLength ( ) const
pure virtual

Get the video's length.

Returns
The length in seconds of the video. {Property}
virtual void SetTime ( tF64  afTime)
pure virtual

Set the current time.

Parameters
afTimeis the time to set. {Property}
virtual tF64 GetTime ( ) const
pure virtual

Get the current time.

Returns
The current time. {Property}
virtual void SetPause ( tBool  abPause)
pure virtual

Set pause.

Parameters
abPause,ifeTrue the update and decoding will be paused.
Remarks
This will pause the thread is the decoder is asyncronous. {Property}
virtual tBool GetPause ( ) const
pure virtual

Get the pause status.

Returns
eTrue if the decoder is in pause mode, else eFalse. {Property}
virtual void SetSpeed ( tF32  afSpeed)
pure virtual

Set the time's speed.

Parameters
afSpeedis the speed to set, 1 is the original speed, 2 is twice faster, 0.5 half the original speed and so on. {Property}
virtual tF32 GetSpeed ( ) const
pure virtual

Get the time's speed. {Property}.

virtual void SetNumLoops ( ni::tU32  anLoop)
pure virtual

Set the number of time the time should loop. {Property}.

Remarks
eInvalidHandle means infinite looping (the default value).
Unless infinite, the number of loops decrease every time the video is looped until it reaches zero and the video stops.
virtual ni::tU32 GetNumLoops ( ) const
pure virtual

Get the number of loop. {Property}.

virtual tBool Update ( tBool  abUpdateTarget,
tF32  afFrameTime 
)
pure virtual

Update the video.

Parameters
abUpdateTarget,ifeTrue will update the target else only the current frame and time will be updated.
afFrameTimeis the time elapsed since the last frame. If you dont want the method to compute the new frame set it to zero.
Returns
eFalse if the target's update failed, else eTrue.
virtual iTexture* GetTargetTexture ( )
pure virtual

Get the target texture. {Property}.

virtual iBitmap2D* GetTargetBitmap ( )
pure virtual

Get the target bitmap. {Property}.

virtual tU32 GetNumSoundTracks ( ) const
pure virtual

Get the number of sound tracks attached to the video. {Property}.

virtual iUnknown* GetSoundTrackData ( tU32  anNumTrack)
pure virtual

Get a sound data of a track associated with the video. {Property}.

Remarks
Note that sound is always decoded at the original speed its found in the video. The video speed needs to be handled manually, by using iSoundSource::SetSpeed for example, to keep the sound properly in sync with the video.
virtual void SetUpdateOnBind ( tBool  abUpdateOnBind)
pure virtual

Set whether the video should automatically be updated when bound for rendering. {Property}.

virtual tBool GetUpdateOnBind ( ) const
pure virtual

Get whether the video should automatically be updated when bound for rendering. {Property}.