ADTF
Loading...
Searching...
No Matches
adtf::services::IPlayer Class Referenceabstract

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

#include <player_intf.h>

Inherits adtf::services::elasto::IPlayer.

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.
 
virtual bool IsSeekable () const=0
 Indicates the players current capability of seeking.
 
- Public Member Functions inherited from adtf::services::elasto::IPlayer
 ADTF_IID (IPlayer, "player.elasto.remote.adtf")
 
virtual tResult SetLoopMode (const tLoopMode &eLoopMode)=0
 
virtual tLoopMode GetLoopMode () const =0
 
virtual tResult SetPlaybackSpeed (float fPlaybackSpeed)=0
 
virtual float GetPlaybackSpeed () const =0
 
virtual tResult Step (uint64_t nSteps, tStepDirection eDirection, tStepItems eItems, bool bWait)=0
 
- Public Member Functions inherited from adtf::services::bat::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
 
virtual tResult ExtractAttachedFiles (const char *strAdtfDatFileNames, const char *strDestinationDirectory)=0
 
- Public Member Functions inherited from adtf::services::ant::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.
 
virtual tResult Close ()=0
 Closes the current loaded files.
 
virtual tResult GetTimeRange (tTimeStamp &tmFirstItem, tTimeStamp &tmLastItem) const =0
 
virtual uint64_t GetChunkCount () const =0
 
virtual tResult GetCurrentFileNames (base::ant::IString &&strFileNames) const =0
 
virtual tTimeStamp GetCurrentTime () const =0
 
virtual IPlayer::tState GetCurrentState () const =0
 
virtual tResult Play ()=0
 
virtual tResult Pause ()=0
 
virtual tResult Reset ()=0
 
virtual tResult SeekToTime (tTimeStamp tmTime)=0
 
virtual tResult SeekToChunkIndex (uint64_t ui64ChunkIndex)=0
 
virtual tResult SeekToStreamIndex (uint16_t ui16StreamId, uint64_t ui64StreamIndex)=0
 
virtual tResult ListStreams (IListStreamCallback &oCallback)=0
 
- Public Member Functions inherited from adtf::ucom::ant::IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 

Additional Inherited Members

- Public Types inherited from adtf::services::elasto::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 adtf::services::ant::IPlayer
enum  tState : uint32_t { Closed = 0 , Paused = 1 , Streaming = 2 }
 
- Protected Member Functions inherited from adtf::ucom::ant::IObject
 ~IObject ()=default
 Protected destructor --> Only the final implementation can be destroyed!
 

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 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.

// 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();
}
}
#define IS_OK(s)
Check if result is OK.
Definition result.h:17
Definition object_ptr.h:384
tResult get_player(adtf::ucom::object_ptr< IPlayer > &pPlayer)
Definition player_intf.h:425
Remarks
Usually this Playback interface and the states of the Player does NOT depend on the Runlevel. Only the concrete implementation of the Player maps it to the StreamingGraph State.

Member Function Documentation

◆ IsSeekable()

virtual bool adtf::services::quiet::IPlayer::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 adtf::services::quiet::IPlayer::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.

The documentation for this class was generated from the following file: