ADTF  3.18.2
IPlayerabstract

ADTF Playback Service Control interface to control the ADTF Player. More...

Inheritance diagram for IPlayer:
[legend]

Public Member Functions

 ADTF_IID (IPlayer, "player.quiet.services.adtf.iid")
 Interface ID for the playback service interface.
 
virtual tResult Open (const char *strFilenames, bool bLoadReferencedFiles, const char *strReaderId, const adtf::base::ant::IProperties *pReaderProperties=nullptr)=0
 Opens one or more given file with the given reader_id. More...
 
virtual bool IsSeekable () const =0
 Indicates the players current capability of seeking. More...
 
- Public Member Functions inherited from IPlayer
 ADTF_IID (IPlayer, "player.elasto.remote.adtf")
 
virtual tResult SetLoopMode (const tLoopMode &eLoopMode)=0
 Sets the loop mode of the player. More...
 
virtual tLoopMode GetLoopMode () const =0
 Retrieves the loop mode of the player. More...
 
virtual tResult SetPlaybackSpeed (float fPlaybackSpeed)=0
 Sets the playback speed of the player. More...
 
virtual float GetPlaybackSpeed () const =0
 Retrieves the current playback speed of the player. More...
 
virtual tResult Step (uint64_t nSteps, tStepDirection eDirection, tStepItems eItems, bool bWait)=0
 Steps n items in given direction. More...
 
- Public Member Functions inherited from IPlayer
 ADTF_IID (IPlayer, "player.bat.services.adtf.iid")
 Interface ID for the playback service interface.
 
virtual tResult GetMarkers (adtf::base::ant::IString &&strMarkers) const =0
 Get Markers. More...
 
virtual tResult ExtractAttachedFiles (const char *strAdtfDatFileNames, const char *strDestinationDirectory)=0
 Extracts all attached files from the given ADTF DAT files. More...
 
- Public Member Functions inherited from IPlayer
 ADTF_IID (IPlayer, "player.ant.services.adtf.iid")
 Interface ID for the playback service interface.
 
virtual tResult Open (const char *strFileNames, bool bLoadReferencedFiles)=0
 Opens one or more adtfdat files. More...
 
virtual tResult Close ()=0
 Closes the current loaded files. More...
 
virtual tResult GetTimeRange (tTimeStamp &tmFirstItem, tTimeStamp &tmLastItem) const =0
 Information interface to get the time range of the currently opened files. More...
 
virtual uint64_t GetChunkCount () const =0
 Information interface to get the chunk count of the current opened files. More...
 
virtual tResult GetCurrentFileNames (base::ant::IString &&strFileNames) const =0
 Information interface to get the time range of the current opened file. More...
 
virtual tTimeStamp GetCurrentTime () const =0
 Information interface to get the current time position of the current opened files. More...
 
virtual IPlayer::tState GetCurrentState () const =0
 Information interface to get the current state of the Player. More...
 
virtual tResult Play ()=0
 Control interface to start streaming. More...
 
virtual tResult Pause ()=0
 Control interface to pause streaming. More...
 
virtual tResult Reset ()=0
 Control interface to Reset the streaming. More...
 
virtual tResult SeekToTime (tTimeStamp tmTime)=0
 Control interface to seek to the given (Chunk) Time. More...
 
virtual tResult SeekToChunkIndex (uint64_t ui64ChunkIndex)=0
 Control interface to seek to the given (Chunk) Index. More...
 
virtual tResult SeekToStreamIndex (uint16_t ui16StreamId, uint64_t ui64StreamIndex)=0
 Control interface to seek to the given (Stream) Index of the given stream. More...
 
virtual tResult ListStreams (IListStreamCallback &oCallback)=0
 List all available streams. More...
 
- Public Member Functions inherited from IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 Marks the IObject to be castable with the ucom_cast() More...
 

Additional Inherited Members

- Public Types inherited from IPlayer
enum class  tLoopMode : uint32_t { DontLoop = 0 , SeekToStart , ChangeRunlevel }
 
enum class  tStepDirection : uint32_t { Forward , Backward }
 
enum class  tStepItems : uint32_t { Any , Samples , StreamTypes , Triggers }
 
- Public Types inherited from IPlayer
enum  tState : uint32_t { Closed = 0 , Paused = 1 , Streaming = 2 }
 
- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 

Detailed Description

ADTF Playback Service Control interface to control the ADTF Player.

This interface enables you to control an instance of ADTF Playback Service. Usually the ADTF Playback Service will be controlled by the ADTFDAT File Player. By following code the service will be controlled by you. Make sure the property "enable_control" is set to false, if you want to control it by yourself.

ucom::object_ptr<IPlayer> pPlayer;
// MIND: This call will only succeed if player is present and it will be called _AFTER_ the PlaybackService was initialized!
if (IS_OK(get_player(pPlayer))
{
if (IS_OK(pPlayer->Open("c:/temp/my_test_file.adtfdat", true)))
{
pPlayer->Play();
}
}
///...
tResult get_player(adtf::ucom::object_ptr< IPlayer > &pPlayer)
Gets the current registered player instance.
Definition: player_intf.h:424
Remarks
Usually this Playback interface and the states of the Player does NOT depend on the Runlevel. Only the concrete implementation of the ADTFDAT File Player maps it to the StreamingGraph State.
See also
Streaming Graph, ADTFDAT File Player

Definition at line 387 of file player_intf.h.

Member Function Documentation

◆ IsSeekable()

virtual bool IsSeekable ( ) const
pure virtual

Indicates the players current capability of seeking.

Return values
falsethe player is not seekable (or not opened)
truethe player is seekable
Remarks
If the player is not seekable, each SeekToTime, SeekToChunkIndex, SeekToStreamIndex will fail.

◆ Open()

virtual tResult Open ( const char *  strFilenames,
bool  bLoadReferencedFiles,
const char *  strReaderId,
const adtf::base::ant::IProperties pReaderProperties = nullptr 
)
pure virtual

Opens one or more given file with the given reader_id.

Remarks
The playback of a recently opened adtfdat file will be stopped and closed before a new file is opened. If the open fails the recently the state was changed to close!
Parameters
[in]strFileNamesList of Files to open at once. (comma separated list)
[in]bLoadReferencedFilesopen files which are added to the file extension "referenced_files".
[in]strReaderIdReader id to use (default is "adtfdat"). See also GetAvailableReaderIds.
[in]pReaderPropertiesConfiguration properties for the specific reader implementation.
Return values
ERR_NOERRORFiles successfully opend - State is now tState::Opened.