mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
projects/WeTek_Play/patches/kodi: add some AML specific patches
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
cc78cd5fb0
commit
be8e1e0d4a
@ -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
|
||||
|
@ -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;
|
@ -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)
|
||||
{
|
Loading…
x
Reference in New Issue
Block a user