Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
No Matches
CExternalPlayer Class Reference

#include <ExternalPlayer.h>

Inheritance diagram for CExternalPlayer:
IPlayer CThread

Public Types


Public Member Functions

 CExternalPlayer (IPlayerCallback &callback)
 ~CExternalPlayer () override
bool Initialize (TiXmlElement *pConfig) override
bool OpenFile (const CFileItem &file, const CPlayerOptions &options) override
bool CloseFile (bool reopen=false) override
bool IsPlaying () const override
void Pause () override
bool HasVideo () const override
bool HasAudio () const override
bool CanSeek () const override
void Seek (bool bPlus, bool bLargeStep, bool bChapterOverride) override
void SeekPercentage (float iPercent) override
void SetVolume (float volume) override
void SetDynamicRangeCompression (long drc) override
void SetAVDelay (float fValue=0.0f) override
float GetAVDelay () override
void SetSubTitleDelay (float fValue=0.0f) override
float GetSubTitleDelay () override
void SeekTime (int64_t iTime) override
void SetSpeed (float speed) override
bool SetPlayerState (const std::string &state) override
- Public Member Functions inherited from IPlayer
 IPlayer (IPlayerCallback &callback)
virtual ~IPlayer ()=default
virtual bool QueueNextFile (const CFileItem &file)
virtual void OnNothingToQueueNotify ()
virtual bool CanPause () const
virtual bool HasGame () const
virtual bool HasRDS () const
virtual bool HasID3 () const
virtual bool IsPassthrough () const
virtual bool SeekScene (bool bPlus=true)
virtual float GetCachePercentage () const
virtual void SetMute (bool bOnOff)
virtual int GetSubtitleCount () const
virtual int GetSubtitle ()
virtual void GetSubtitleStreamInfo (int index, SubtitleStreamInfo &info) const
virtual void SetSubtitle (int iStream)
virtual bool GetSubtitleVisible () const
virtual void SetSubtitleVisible (bool bVisible)
virtual void SetSubtitleVerticalPosition (int value, bool save)
 Set the subtitle vertical position, it depends on current screen resolution.
virtual void AddSubtitle (const std::string &strSubPath)
 Adds the subtitle(s) provided by the given file to the available player streams and actives the first of the added stream(s). E.g., vob subs can contain multiple streams.
virtual int GetAudioStreamCount () const
virtual int GetAudioStream ()
virtual void SetAudioStream (int iStream)
virtual void GetAudioStreamInfo (int index, AudioStreamInfo &info) const
virtual int GetVideoStream () const
virtual int GetVideoStreamCount () const
virtual void GetVideoStreamInfo (int streamId, VideoStreamInfo &info) const
virtual void SetVideoStream (int iStream)
virtual int GetPrograms (std::vector< ProgramInfo > &programs)
virtual void SetProgram (int progId)
virtual int GetProgramsCount () const
virtual bool HasTeletextCache () const
virtual std::shared_ptr< TextCacheStruct_tGetTeletextCache ()
virtual void LoadPage (int p, int sp, unsigned char *buffer)
virtual int GetChapterCount () const
virtual int GetChapter () const
virtual void GetChapterName (std::string &strChapterName, int chapterIdx=-1) const
virtual int64_t GetChapterPos (int chapterIdx=-1) const
virtual int SeekChapter (int iChapter)
virtual bool SeekTimeRelative (int64_t iTime)
virtual void SetTime (int64_t time)
 Sets the current time. This can be used for injecting the current time. This is not to be confused with a seek. It just can be used if endless streams contain multiple tracks in reality (like with airtunes)
virtual void SetTotalTime (int64_t time)
 Set the total time in milliseconds this can be used for injecting the duration in case its not available in the underlaying decoder (airtunes for example)
virtual void SetTempo (float tempo)
virtual bool SupportsTempo () const
virtual void FrameAdvance (int frames)
virtual bool IsCaching () const
virtual int GetCacheLevel () const
virtual bool IsInMenu () const
virtual MenuType GetSupportedMenuType () const
 Get the supported menu type.
virtual bool OnAction (const CAction &action)
virtual std::string GetPlayerState ()
virtual void GetAudioCapabilities (std::vector< int > &audioCaps) const
virtual void GetSubtitleCapabilities (std::vector< int > &subCaps) const
 define the subtitle capabilities of the player
virtual void Render (bool clear, uint32_t alpha=255, bool gui=true)
 hook into render loop of render thread
virtual void FlushRenderer ()
virtual void SetRenderViewMode (int mode, float zoom, float par, float shift, bool stretch)
virtual float GetRenderAspectRatio () const
virtual void TriggerUpdateResolution ()
virtual bool IsRenderingVideo () const
virtual void GetRects (CRect &source, CRect &dest, CRect &view) const
virtual unsigned int GetOrientation () const
virtual bool Supports (EINTERLACEMETHOD method) const
virtual EINTERLACEMETHOD GetDeinterlacingMethodDefault () const
virtual bool Supports (ESCALINGMETHOD method) const
virtual bool Supports (ERENDERFEATURE feature) const
virtual unsigned int RenderCaptureAlloc ()
virtual void RenderCaptureRelease (unsigned int captureId)
virtual void RenderCapture (unsigned int captureId, unsigned int width, unsigned int height, int flags)
virtual bool RenderCaptureGetPixels (unsigned int captureId, unsigned int millis, uint8_t *buffer, unsigned int size)
virtual CVideoSettings GetVideoSettings () const
virtual void SetVideoSettings (CVideoSettings &settings)
virtual bool HasGameAgent () const
 Check if any players are playing a game.
- Public Member Functions inherited from CThread
 CThread (IRunnable *pRunnable, const char *ThreadName)
virtual ~CThread ()
void Create (bool bAutoDelete=false)
template<typename Rep , typename Period >
void Sleep (std::chrono::duration< Rep, Period > duration)
bool IsAutoDelete () const
virtual void StopThread (bool bWait=true)
bool IsRunning () const
bool IsCurrentThread () const
bool Join (std::chrono::milliseconds duration)
bool SetPriority (const ThreadPriority &priority)
 Set the threads priority. This uses the platforms native threading library to do so.
virtual void OnException ()

Additional Inherited Members

- Static Public Member Functions inherited from CThread
static const std::thread::id GetCurrentThreadId ()
static CThreadGetCurrentThread ()
- Public Attributes inherited from IPlayer
std::string m_name
std::string m_type
- Protected Types inherited from CThread
enum  WaitResponse { WAIT_INTERRUPTED = -1 , WAIT_SIGNALED = 0 , WAIT_TIMEDOUT = 1 }
- Protected Member Functions inherited from CThread
 CThread (const char *ThreadName)
virtual void OnStartup ()
virtual void OnExit ()
WaitResponse AbortableWait (CEvent &event, std::chrono::milliseconds duration=std::chrono::milliseconds(-1))
- Protected Attributes inherited from IPlayer
- Protected Attributes inherited from CThread
std::atomic< boolm_bStop

Member Enumeration Documentation



Constructor & Destructor Documentation

◆ CExternalPlayer()

CExternalPlayer::CExternalPlayer ( IPlayerCallback & callback)

◆ ~CExternalPlayer()

CExternalPlayer::~CExternalPlayer ( )

Member Function Documentation

◆ CanSeek()

bool CExternalPlayer::CanSeek ( ) const

Reimplemented from IPlayer.

◆ CloseFile()

bool CExternalPlayer::CloseFile ( bool reopen = false)

Implements IPlayer.

◆ GetAVDelay()

float CExternalPlayer::GetAVDelay ( )

Reimplemented from IPlayer.

◆ GetSubTitleDelay()

float CExternalPlayer::GetSubTitleDelay ( )

Reimplemented from IPlayer.

◆ HasAudio()

bool CExternalPlayer::HasAudio ( ) const

Implements IPlayer.

◆ HasVideo()

bool CExternalPlayer::HasVideo ( ) const

Implements IPlayer.

◆ Initialize()

bool CExternalPlayer::Initialize ( TiXmlElement * pConfig)

Reimplemented from IPlayer.

◆ IsPlaying()

bool CExternalPlayer::IsPlaying ( ) const

Reimplemented from IPlayer.

◆ OpenFile()

bool CExternalPlayer::OpenFile ( const CFileItem & file,
const CPlayerOptions & options )

Reimplemented from IPlayer.

◆ Pause()

void CExternalPlayer::Pause ( )

Implements IPlayer.

◆ Seek()

void CExternalPlayer::Seek ( bool bPlus,
bool bLargeStep,
bool bChapterOverride )

Implements IPlayer.

◆ SeekPercentage()

void CExternalPlayer::SeekPercentage ( float iPercent)

Reimplemented from IPlayer.

◆ SeekTime()

void CExternalPlayer::SeekTime ( int64_t iTime)

Reimplemented from IPlayer.

◆ SetAVDelay()

void CExternalPlayer::SetAVDelay ( float fValue = 0.0f)

Reimplemented from IPlayer.

◆ SetDynamicRangeCompression()

void CExternalPlayer::SetDynamicRangeCompression ( long drc)

Reimplemented from IPlayer.

◆ SetPlayerState()

bool CExternalPlayer::SetPlayerState ( const std::string & state)

Reimplemented from IPlayer.

◆ SetSpeed()

void CExternalPlayer::SetSpeed ( float speed)

Implements IPlayer.

◆ SetSubTitleDelay()

void CExternalPlayer::SetSubTitleDelay ( float fValue = 0.0f)

Reimplemented from IPlayer.

◆ SetVolume()

void CExternalPlayer::SetVolume ( float volume)

Reimplemented from IPlayer.

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