kodi: add PR6356

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2015-02-08 04:51:50 +01:00
parent 86fb28b421
commit ef155fe0d1

View File

@ -0,0 +1,60 @@
From 4b25061edec6da97b8a49b1872bcc765db1fca06 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 7 Feb 2015 18:16:12 +0100
Subject: [PATCH 1/2] dvdplayer: fix clock speed
---
xbmc/cores/dvdplayer/DVDClock.cpp | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDClock.cpp b/xbmc/cores/dvdplayer/DVDClock.cpp
index 0a253e4..a4422a0 100644
--- a/xbmc/cores/dvdplayer/DVDClock.cpp
+++ b/xbmc/cores/dvdplayer/DVDClock.cpp
@@ -218,16 +218,17 @@ int CDVDClock::UpdateFramerate(double fps, double* interval /*= NULL*/)
CSingleLock lock(m_speedsection);
- double weight = rate / (double)MathUtils::round_int(fps);
+ double speed = 1.0;
- //set the speed of the videoreferenceclock based on fps, refreshrate and maximum speed adjust set by user
if (m_maxspeedadjust > 0.05)
{
- if (weight / MathUtils::round_int(weight) < 1.0 + m_maxspeedadjust / 100.0
- && weight / MathUtils::round_int(weight) > 1.0 - m_maxspeedadjust / 100.0)
- weight = MathUtils::round_int(weight);
+ speed = rate / fps;
+ if (speed > 1.0 + m_maxspeedadjust/100)
+ speed = 1.0 + m_maxspeedadjust/100;
+ else if (speed < 1.0 - m_maxspeedadjust/100)
+ speed = 1.0 - m_maxspeedadjust/100;
}
- double speed = rate / (fps * weight);
+
lock.Leave();
g_VideoReferenceClock.SetSpeed(speed);
From 5647dd3c786ff78e5f43e3f83511cd8d7f187aa3 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 7 Feb 2015 18:38:00 +0100
Subject: [PATCH 2/2] dvdplayer: reset speed of video reference clock after
refresh rate changed
---
xbmc/video/VideoReferenceClock.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/xbmc/video/VideoReferenceClock.cpp b/xbmc/video/VideoReferenceClock.cpp
index 9246a35..a3ee195 100644
--- a/xbmc/video/VideoReferenceClock.cpp
+++ b/xbmc/video/VideoReferenceClock.cpp
@@ -280,6 +280,7 @@ void CVideoReferenceClock::UpdateRefreshrate()
{
CSingleLock SingleLock(m_CritSection);
m_RefreshRate = m_pVideoSync->GetFps();
+ m_ClockSpeed = 1.0;
CLog::Log(LOGDEBUG, "CVideoReferenceClock: Detected refreshrate: %.3f hertz", m_RefreshRate);
}