aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xbmc/cores/dvdplayer/DVDMessageQueue.cpp5
-rw-r--r--xbmc/cores/dvdplayer/DVDMessageQueue.h4
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayer.cpp4
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayerAudio.cpp2
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayerVideo.cpp2
5 files changed, 12 insertions, 5 deletions
diff --git a/xbmc/cores/dvdplayer/DVDMessageQueue.cpp b/xbmc/cores/dvdplayer/DVDMessageQueue.cpp
index 0e208da9b6..79f0f4b689 100644
--- a/xbmc/cores/dvdplayer/DVDMessageQueue.cpp
+++ b/xbmc/cores/dvdplayer/DVDMessageQueue.cpp
@@ -227,3 +227,8 @@ void CDVDMessageQueue::WaitUntilEmpty()
msg->Wait(&m_bAbortRequest, 0);
msg->Release();
}
+
+int CDVDMessageQueue::GetLevel() const
+{
+ return std::min(100, 100 * m_iDataSize / m_iMaxDataSize);
+} \ No newline at end of file
diff --git a/xbmc/cores/dvdplayer/DVDMessageQueue.h b/xbmc/cores/dvdplayer/DVDMessageQueue.h
index 9a16c01f0b..7802c3c76e 100644
--- a/xbmc/cores/dvdplayer/DVDMessageQueue.h
+++ b/xbmc/cores/dvdplayer/DVDMessageQueue.h
@@ -71,7 +71,9 @@ public:
void WaitUntilEmpty();
// non messagequeue related functions
- bool IsFull() const { return (m_iDataSize >= m_iMaxDataSize); }
+ bool IsFull() const { return GetLevel() == 100; }
+ int GetLevel() const;
+
void SetMaxDataSize(int iMaxDataSize) { m_iMaxDataSize = iMaxDataSize; }
int GetMaxDataSize() const { return m_iMaxDataSize; }
bool IsInited() const { return m_bInitialized; }
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
index 9e8b098556..fb53ecc7d5 100644
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
@@ -3223,8 +3223,8 @@ bool CDVDPlayer::AddSubtitle(const CStdString& strSubPath)
int CDVDPlayer::GetCacheLevel() const
{
- int a = min(100,100 * m_dvdPlayerAudio.m_messageQueue.GetDataSize() / m_dvdPlayerAudio.m_messageQueue.GetMaxDataSize());
- int v = min(100,100 * m_dvdPlayerVideo.m_messageQueue.GetDataSize() / m_dvdPlayerVideo.m_messageQueue.GetMaxDataSize());
+ int a = m_dvdPlayerAudio.m_messageQueue.GetLevel();
+ int v = m_dvdPlayerVideo.m_messageQueue.GetLevel();
return max(a, v);
}
diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
index 3c14f584a2..b156b3cfb8 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
@@ -773,7 +773,7 @@ void CDVDPlayerAudio::WaitForBuffers()
string CDVDPlayerAudio::GetPlayerInfo()
{
std::ostringstream s;
- s << "aq:" << setw(2) << min(99,100 * m_messageQueue.GetDataSize() / m_messageQueue.GetMaxDataSize()) << "%";
+ s << "aq:" << setw(2) << min(99,m_messageQueue.GetLevel()) << "%";
s << ", kB/s:" << fixed << setprecision(2) << (double)GetAudioBitrate() / 1024.0;
return s.str();
}
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index c63aac63fd..ef92856983 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -1262,7 +1262,7 @@ void CDVDPlayerVideo::UpdateMenuPicture()
std::string CDVDPlayerVideo::GetPlayerInfo()
{
std::ostringstream s;
- s << "vq:" << setw(2) << min(99,100 * m_messageQueue.GetDataSize() / m_messageQueue.GetMaxDataSize()) << "%";
+ s << "vq:" << setw(2) << min(99,m_messageQueue.GetLevel()) << "%";
s << ", dc:" << m_codecname;
s << ", Mb/s:" << fixed << setprecision(2) << (double)GetVideoBitrate() / (1024.0*1024.0);
s << ", drop:" << m_iDroppedFrames;