aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Hochecker <fernetmenta@online.de>2015-02-01 09:25:12 +0100
committerRainer Hochecker <fernetmenta@online.de>2015-02-01 09:25:12 +0100
commit375bfaec821627cfe514271cc8797ee50c135031 (patch)
tree54f56d0f6e224b0ac50c6293cf3f4f5af69b21c3
parentdb54f53bf6d939852627366d6601bb4e274cc4bc (diff)
dvdplayer: avoid unwanted dropping in output stage of video
-rw-r--r--xbmc/cores/dvdplayer/DVDPlayerVideo.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index 8a12a6b9a3..908ddcb176 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -1159,9 +1159,12 @@ int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts)
mDisplayField = FS_BOT;
}
- int buffer = g_renderManager.WaitForBuffer(m_bStop, std::max(DVD_TIME_TO_MSEC(iSleepTime) + 500, 1));
+ int buffer = g_renderManager.WaitForBuffer(m_bStop, std::max(DVD_TIME_TO_MSEC(iSleepTime) + 500, 50));
if (buffer < 0)
+ {
+ m_droppingStats.AddOutputDropGain(pts, 1/m_fFrameRate);
return EOS_DROPPED;
+ }
ProcessOverlays(pPicture, pts);
@@ -1176,7 +1179,10 @@ int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts)
}
if (index < 0)
+ {
+ m_droppingStats.AddOutputDropGain(pts, 1/m_fFrameRate);
return EOS_DROPPED;
+ }
g_renderManager.FlipPage(CThread::m_bStop, (iCurrentClock + iSleepTime) / DVD_TIME_BASE, pts, -1, mDisplayField);