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

#include <VideoPlayerAudio.h>

Inheritance diagram for CVideoPlayerAudio:
CThread IDVDStreamPlayerAudio IDVDStreamPlayer

Classes

struct  SInfo
 

Public Member Functions

 CVideoPlayerAudio (CDVDClock *pClock, CDVDMessageQueue &parent, CProcessInfo &processInfo)
 
 ~CVideoPlayerAudio () override
 
bool OpenStream (CDVDStreamInfo hints) override
 
void CloseStream (bool bWaitForBuffers) override
 
void SetSpeed (int speed) override
 
void Flush (bool sync) override
 
bool AcceptsData () const override
 
bool HasData () const override
 
int GetLevel () const override
 
bool IsInited () const override
 
void SendMessage (std::shared_ptr< CDVDMsg > pMsg, int priority=0) override
 
void FlushMessages () override
 
void SetDynamicRangeCompression (long drc) override
 
float GetDynamicRangeAmplification () const override
 
std::string GetPlayerInfo () override
 
int GetAudioChannels () override
 
double GetCurrentPts () override
 
bool IsStalled () const override
 
bool IsPassthrough () const override
 
- 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 ()
 
- Public Member Functions inherited from IDVDStreamPlayerAudio
 IDVDStreamPlayerAudio (CProcessInfo &processInfo)
 
 ~IDVDStreamPlayerAudio () override=default
 
virtual void SetVolume (float fVolume)
 
virtual void SetMute (bool bOnOff)
 
virtual bool IsEOS ()
 
- Public Member Functions inherited from IDVDStreamPlayer
 IDVDStreamPlayer (CProcessInfo &processInfo)
 
virtual ~IDVDStreamPlayer ()=default
 

Protected Member Functions

void OnStartup () override
 
void OnExit () override
 
void Process () override
 
bool ProcessDecoderOutput (DVDAudioFrame &audioframe)
 
void UpdatePlayerInfo ()
 
void OpenStream (CDVDStreamInfo &hints, std::unique_ptr< CDVDAudioCodec > codec)
 
bool SwitchCodecIfNeeded ()
 
void SetSyncType (bool passthrough)
 
- Protected Member Functions inherited from CThread
 CThread (const char *ThreadName)
 
WaitResponse AbortableWait (CEvent &event, std::chrono::milliseconds duration=std::chrono::milliseconds(-1))
 

Protected Attributes

CDVDMessageQueue m_messageQueue
 
CDVDMessageQueuem_messageParent
 
CDVDStreamInfo m_streaminfo
 
double m_audioClock
 
CAudioSinkAE m_audioSink
 
CDVDClockm_pClock
 
std::unique_ptr< CDVDAudioCodecm_pAudioCodec
 
BitstreamStats m_audioStats
 
int m_speed
 
bool m_stalled
 
bool m_paused
 
IDVDStreamPlayer::ESyncState m_syncState
 
XbmcThreads::EndTime m_syncTimer
 
int m_synctype
 
int m_prevsynctype
 
bool m_prevskipped
 
double m_maxspeedadjust
 
CCriticalSection m_info_section
 
SInfo m_info
 
bool m_displayReset = false
 
unsigned int m_disconAdjustTimeMs = 10
 
int m_disconAdjustCounter = 0
 
XbmcThreads::EndTime m_disconTimer
 
bool m_disconLearning = false
 
- Protected Attributes inherited from CThread
std::atomic< boolm_bStop
 
- Protected Attributes inherited from IDVDStreamPlayer
CProcessInfom_processInfo
 

Additional Inherited Members

- Public Types inherited from IDVDStreamPlayer
enum  ESyncState { SYNC_STARTING , SYNC_WAITSYNC , SYNC_INSYNC }
 
- Static Public Member Functions inherited from CThread
static const std::thread::id GetCurrentThreadId ()
 
static CThreadGetCurrentThread ()
 
- Protected Types inherited from CThread
enum  WaitResponse { WAIT_INTERRUPTED = -1 , WAIT_SIGNALED = 0 , WAIT_TIMEDOUT = 1 }
 

Constructor & Destructor Documentation

◆ CVideoPlayerAudio()

CVideoPlayerAudio::CVideoPlayerAudio ( CDVDClock * pClock,
CDVDMessageQueue & parent,
CProcessInfo & processInfo )

◆ ~CVideoPlayerAudio()

CVideoPlayerAudio::~CVideoPlayerAudio ( )
override

Member Function Documentation

◆ AcceptsData()

bool CVideoPlayerAudio::AcceptsData ( ) const
overridevirtual

Implements IDVDStreamPlayerAudio.

◆ CloseStream()

void CVideoPlayerAudio::CloseStream ( bool bWaitForBuffers)
overridevirtual

Implements IDVDStreamPlayerAudio.

◆ Flush()

void CVideoPlayerAudio::Flush ( bool sync)
overridevirtual

Implements IDVDStreamPlayerAudio.

◆ FlushMessages()

void CVideoPlayerAudio::FlushMessages ( )
inlineoverridevirtual

Implements IDVDStreamPlayer.

◆ GetAudioChannels()

int CVideoPlayerAudio::GetAudioChannels ( )
overridevirtual

Implements IDVDStreamPlayerAudio.

◆ GetCurrentPts()

double CVideoPlayerAudio::GetCurrentPts ( )
inlineoverridevirtual

Implements IDVDStreamPlayerAudio.

◆ GetDynamicRangeAmplification()

float CVideoPlayerAudio::GetDynamicRangeAmplification ( ) const
inlineoverridevirtual

Implements IDVDStreamPlayerAudio.

◆ GetLevel()

int CVideoPlayerAudio::GetLevel ( ) const
inlineoverridevirtual

Implements IDVDStreamPlayerAudio.

◆ GetPlayerInfo()

std::string CVideoPlayerAudio::GetPlayerInfo ( )
overridevirtual

Implements IDVDStreamPlayerAudio.

◆ HasData()

bool CVideoPlayerAudio::HasData ( ) const
inlineoverridevirtual

Implements IDVDStreamPlayerAudio.

◆ IsInited()

bool CVideoPlayerAudio::IsInited ( ) const
inlineoverridevirtual

Implements IDVDStreamPlayerAudio.

◆ IsPassthrough()

bool CVideoPlayerAudio::IsPassthrough ( ) const
overridevirtual

Implements IDVDStreamPlayerAudio.

◆ IsStalled()

bool CVideoPlayerAudio::IsStalled ( ) const
inlineoverridevirtual

Implements IDVDStreamPlayerAudio.

◆ OnExit()

void CVideoPlayerAudio::OnExit ( )
overrideprotectedvirtual

Reimplemented from CThread.

◆ OnStartup()

void CVideoPlayerAudio::OnStartup ( )
overrideprotectedvirtual

Reimplemented from CThread.

◆ OpenStream() [1/2]

void CVideoPlayerAudio::OpenStream ( CDVDStreamInfo & hints,
std::unique_ptr< CDVDAudioCodec > codec )
protected

◆ OpenStream() [2/2]

bool CVideoPlayerAudio::OpenStream ( CDVDStreamInfo hints)
overridevirtual

Implements IDVDStreamPlayerAudio.

◆ Process()

void CVideoPlayerAudio::Process ( void )
overrideprotectedvirtual

Reimplemented from CThread.

◆ ProcessDecoderOutput()

bool CVideoPlayerAudio::ProcessDecoderOutput ( DVDAudioFrame & audioframe)
protected

◆ SendMessage()

void CVideoPlayerAudio::SendMessage ( std::shared_ptr< CDVDMsg > pMsg,
int priority = 0 )
inlineoverridevirtual

Implements IDVDStreamPlayerAudio.

◆ SetDynamicRangeCompression()

void CVideoPlayerAudio::SetDynamicRangeCompression ( long drc)
inlineoverridevirtual

Implements IDVDStreamPlayerAudio.

◆ SetSpeed()

void CVideoPlayerAudio::SetSpeed ( int speed)
overridevirtual

Implements IDVDStreamPlayerAudio.

◆ SetSyncType()

void CVideoPlayerAudio::SetSyncType ( bool passthrough)
protected

◆ SwitchCodecIfNeeded()

bool CVideoPlayerAudio::SwitchCodecIfNeeded ( )
protected

Switch codec if needed. Called when the sample rate gotten from the codec changes, in which case we may want to switch passthrough on/off.

◆ UpdatePlayerInfo()

void CVideoPlayerAudio::UpdatePlayerInfo ( )
protected

Member Data Documentation

◆ m_audioClock

double CVideoPlayerAudio::m_audioClock
protected

◆ m_audioSink

CAudioSinkAE CVideoPlayerAudio::m_audioSink
protected

◆ m_audioStats

BitstreamStats CVideoPlayerAudio::m_audioStats
protected

◆ m_disconAdjustCounter

int CVideoPlayerAudio::m_disconAdjustCounter = 0
protected

◆ m_disconAdjustTimeMs

unsigned int CVideoPlayerAudio::m_disconAdjustTimeMs = 10
protected

◆ m_disconLearning

bool CVideoPlayerAudio::m_disconLearning = false
protected

◆ m_disconTimer

XbmcThreads::EndTime CVideoPlayerAudio::m_disconTimer
protected

◆ m_displayReset

bool CVideoPlayerAudio::m_displayReset = false
protected

◆ m_info

SInfo CVideoPlayerAudio::m_info
protected

◆ m_info_section

CCriticalSection CVideoPlayerAudio::m_info_section
mutableprotected

◆ m_maxspeedadjust

double CVideoPlayerAudio::m_maxspeedadjust
protected

◆ m_messageParent

CDVDMessageQueue& CVideoPlayerAudio::m_messageParent
protected

◆ m_messageQueue

CDVDMessageQueue CVideoPlayerAudio::m_messageQueue
protected

◆ m_pAudioCodec

std::unique_ptr<CDVDAudioCodec> CVideoPlayerAudio::m_pAudioCodec
protected

◆ m_paused

bool CVideoPlayerAudio::m_paused
protected

◆ m_pClock

CDVDClock* CVideoPlayerAudio::m_pClock
protected

◆ m_prevskipped

bool CVideoPlayerAudio::m_prevskipped
protected

◆ m_prevsynctype

int CVideoPlayerAudio::m_prevsynctype
protected

◆ m_speed

int CVideoPlayerAudio::m_speed
protected

◆ m_stalled

bool CVideoPlayerAudio::m_stalled
protected

◆ m_streaminfo

CDVDStreamInfo CVideoPlayerAudio::m_streaminfo
protected

◆ m_syncState

IDVDStreamPlayer::ESyncState CVideoPlayerAudio::m_syncState
protected

◆ m_syncTimer

XbmcThreads::EndTime CVideoPlayerAudio::m_syncTimer
protected

◆ m_synctype

int CVideoPlayerAudio::m_synctype
protected

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