11 #include "AudioSinkAE.h" 13 #include "DVDMessageQueue.h" 14 #include "DVDStreamInfo.h" 15 #include "IVideoPlayer.h" 16 #include "cores/VideoPlayer/Interface/TimingConstants.h" 17 #include "threads/SystemClock.h" 18 #include "threads/Thread.h" 19 #include "utils/BitstreamStats.h" 37 void CloseStream(
bool bWaitForBuffers)
override;
39 void SetSpeed(
int speed)
override;
40 void Flush(
bool sync)
override;
43 bool AcceptsData()
const override;
44 bool HasData()
const override {
return m_messageQueue.GetDataSize() > 0; }
45 int GetLevel()
const override {
return m_messageQueue.GetLevel(); }
46 bool IsInited()
const override {
return m_messageQueue.IsInited(); }
47 void SendMessage(std::shared_ptr<CDVDMsg> pMsg,
int priority = 0)
override 49 m_messageQueue.Put(pMsg, priority);
51 void FlushMessages()
override { m_messageQueue.Flush(); }
53 void SetDynamicRangeCompression(
long drc)
override { m_audioSink.SetDynamicRangeCompression(drc); }
54 float GetDynamicRangeAmplification()
const override {
return 0.0f; }
56 std::string GetPlayerInfo()
override;
57 int GetAudioChannels()
override;
59 double GetCurrentPts()
override 61 std::unique_lock<CCriticalSection> lock(m_info_section);
65 bool IsStalled()
const override {
return m_stalled; }
66 bool IsPassthrough()
const override;
70 void OnStartup()
override;
71 void OnExit()
override;
72 void Process()
override;
75 void UpdatePlayerInfo();
76 void OpenStream(
CDVDStreamInfo& hints, std::unique_ptr<CDVDAudioCodec> codec);
80 void SetSyncType(
bool passthrough);
92 std::unique_ptr<CDVDAudioCodec> m_pAudioCodec;
98 IDVDStreamPlayer::ESyncState m_syncState;
105 double m_maxspeedadjust;
110 double pts = DVD_NOPTS_VALUE;
111 bool passthrough =
false;
114 mutable CCriticalSection m_info_section;
117 bool m_displayReset =
false;
118 unsigned int m_disconAdjustTimeMs = 10;
119 int m_disconAdjustCounter = 0;
121 bool m_disconLearning =
false;
Definition: DVDStreamInfo.h:25
bool SwitchCodecIfNeeded()
Switch codec if needed.
Definition: VideoPlayerAudio.cpp:671
Definition: VideoPlayer.h:250
Definition: VideoPlayerAudio.h:30
Definition: DVDMessageQueue.h:48
Definition: SystemClock.h:31
Definition: AudioSinkAE.h:29
Definition: BitstreamStats.h:13
Definition: ProcessInfo.h:26
Definition: DVDAudioCodec.h:27
Definition: DVDClock.h:18
Definition: DVDAudioCodec.h:48
Definition: IVideoPlayer.h:102
Definition: VideoPlayerAudio.h:107