xbmc
|
Classes | |
struct | SInfo |
Public Member Functions | |
CVideoPlayerAudio (CDVDClock *pClock, CDVDMessageQueue &parent, CProcessInfo &processInfo) | |
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 |
![]() | |
CThread (IRunnable *pRunnable, const char *ThreadName) | |
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 () |
![]() | |
IDVDStreamPlayerAudio (CProcessInfo &processInfo) | |
virtual void | SetVolume (float fVolume) |
virtual void | SetMute (bool bOnOff) |
virtual bool | IsEOS () |
![]() | |
IDVDStreamPlayer (CProcessInfo &processInfo) | |
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 () |
Switch codec if needed. More... | |
void | SetSyncType (bool passthrough) |
![]() | |
CThread (const char *ThreadName) | |
WaitResponse | AbortableWait (CEvent &event, std::chrono::milliseconds duration=std::chrono::milliseconds(-1)) |
This call will wait on a CEvent in an interruptible way such that if stop is called on the thread the wait will return with a response indicating what happened. | |
Protected Attributes | |
CDVDMessageQueue | m_messageQueue |
CDVDMessageQueue & | m_messageParent |
CDVDStreamInfo | m_streaminfo |
double | m_audioClock |
CAudioSinkAE | m_audioSink |
CDVDClock * | m_pClock |
std::unique_ptr< CDVDAudioCodec > | m_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 |
![]() | |
std::atomic< bool > | m_bStop |
![]() | |
CProcessInfo & | m_processInfo |
Additional Inherited Members | |
![]() | |
enum | ESyncState { SYNC_STARTING, SYNC_WAITSYNC, SYNC_INSYNC } |
![]() | |
static const std::thread::id | GetCurrentThreadId () |
static CThread * | GetCurrentThread () |
![]() | |
enum | WaitResponse { WAIT_INTERRUPTED = -1, WAIT_SIGNALED = 0, WAIT_TIMEDOUT = 1 } |
|
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.