From 0434895e42a0e5fb9f7cc7db41d680db846b3812 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Mon, 13 Apr 2015 18:18:59 +0200 Subject: dvdplayer audio: fix/improve calculation of playing pts --- xbmc/cores/dvdplayer/DVDAudio.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/dvdplayer/DVDAudio.cpp b/xbmc/cores/dvdplayer/DVDAudio.cpp index a2b1325e05..d1601b1279 100644 --- a/xbmc/cores/dvdplayer/DVDAudio.cpp +++ b/xbmc/cores/dvdplayer/DVDAudio.cpp @@ -276,5 +276,17 @@ double CDVDAudio::GetPlayingPts() if (m_playingPts == DVD_NOPTS_VALUE) return 0.0; - return m_playingPts + CDVDClock::GetAbsoluteClock() - m_timeOfPts; + double now = CDVDClock::GetAbsoluteClock(); + double diff = now - m_timeOfPts; + double cache = GetCacheTime(); + double played = 0.0; + + if (diff < cache) + played = diff; + else + played = cache; + + m_timeOfPts = now; + m_playingPts += played; + return m_playingPts; } -- cgit v1.2.3