mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +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