diff options
author | Rainer Hochecker <fernetmenta@online.de> | 2015-02-01 09:25:12 +0100 |
---|---|---|
committer | Rainer Hochecker <fernetmenta@online.de> | 2015-02-01 09:25:12 +0100 |
commit | 375bfaec821627cfe514271cc8797ee50c135031 (patch) | |
tree | 54f56d0f6e224b0ac50c6293cf3f4f5af69b21c3 | |
parent | db54f53bf6d939852627366d6601bb4e274cc4bc (diff) |
dvdplayer: avoid unwanted dropping in output stage of video
-rw-r--r-- | xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 8 |
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); |