projects/WeTek_Play/patches/kodi: add some AML specific patches

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2015-10-29 21:19:55 +01:00
parent cc78cd5fb0
commit be8e1e0d4a
3 changed files with 85 additions and 0 deletions

View File

@ -0,0 +1,26 @@
From 7b1c6ca4cb5bf3310cbfe3b007063439be301b6b Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@codesnake.com>
Date: Mon, 2 Mar 2015 09:48:14 +0100
Subject: [PATCH 18/26] [aml] Fix stuttering during a playback of a video with
23.976 FPS
---
xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
index bf4c958..8d49de8 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
@@ -1932,7 +1932,7 @@ void CAMLCodec::Process()
double error = app_pts - (double)pts_video/PTS_FREQ;
double abs_error = fabs(error);
- if (abs_error > 0.125)
+ if (abs_error > 0)
{
//CLog::Log(LOGDEBUG, "CAMLCodec::Process pts diff = %f", error);
if (abs_error > 0.150)
--
1.7.10.4

View File

@ -0,0 +1,23 @@
From a19578679f63520b0d8e9f589b82699076aff6ed Mon Sep 17 00:00:00 2001
From: "Chris \"Koying\" Browet" <cbro@semperpax.com>
Date: Fri, 19 Dec 2014 12:30:04 +0100
Subject: [PATCH] FIX: [renderer] hide meaningless skips from users
---
xbmc/cores/VideoRenderers/RenderManager.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoRenderers/RenderManager.cpp
index 7f43949..01327f5 100644
--- a/xbmc/cores/VideoRenderers/RenderManager.cpp
+++ b/xbmc/cores/VideoRenderers/RenderManager.cpp
@@ -1198,7 +1198,8 @@ void CXBMCRenderManager::PrepareNextRender()
while(m_queued.front() != idx)
{
requeue(m_discard, m_queued);
- m_QueueSkip++;
+ if (m_format != RENDER_FMT_BYPASS) // skips scares users ;)
+ m_QueueSkip++;
}
m_presentstep = PRESENT_FLIP;

View File

@ -0,0 +1,36 @@
From 6aab0376e7a4afdf5fbbbfa6c5394d302fb35a11 Mon Sep 17 00:00:00 2001
From: Chris Browet <koying@semperpax.com>
Date: Mon, 18 May 2015 14:28:02 +0200
Subject: [PATCH] FIX: [aml] avoid decoder being deadlocked
---
xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
index 981ddd0..7046be3 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
@@ -1855,7 +1855,8 @@ int CAMLCodec::Decode(uint8_t *pData, size_t iSize, double dts, double pts)
// loop until we write all into codec, am_pkt.isvalid
// will get set to zero once everything is consumed.
// PLAYER_SUCCESS means all is ok, not all bytes were written.
- while (am_private->am_pkt.isvalid)
+ int loop = 0;
+ while (am_private->am_pkt.isvalid && loop < 100)
{
// abort on any errors.
if (write_av_packet(am_private, &am_private->am_pkt) != PLAYER_SUCCESS)
@@ -1863,6 +1864,12 @@ int CAMLCodec::Decode(uint8_t *pData, size_t iSize, double dts, double pts)
if (am_private->am_pkt.isvalid)
CLog::Log(LOGDEBUG, "CAMLCodec::Decode: write_av_packet looping");
+ loop++;
+ }
+ if (loop == 100)
+ {
+ // Decoder got stuck; Reset
+ Reset();
}
if (!m_dll_has_video_delay)
{