mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
xbmc: add PR2245
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
72080b8d9d
commit
59ba745d77
53
packages/mediacenter/xbmc/patches/xbmc-990.15-PR2245.patch
Normal file
53
packages/mediacenter/xbmc/patches/xbmc-990.15-PR2245.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
From 8b6032793bcc05a6ec06773c95463a22d2c9881b Mon Sep 17 00:00:00 2001
|
||||||
|
From: popcornmix <popcornmix@gmail.com>
|
||||||
|
Date: Fri, 15 Feb 2013 17:58:41 +0000
|
||||||
|
Subject: [PATCH] [rbp] Fix for hang after seeking introduced by ASS fix
|
||||||
|
|
||||||
|
#2206 introduced a regression when seeking in some types of SD files where the video stutters and/or stalls.
|
||||||
|
This is caused by using the wrong clock in FlipPage
|
||||||
|
---
|
||||||
|
xbmc/cores/omxplayer/OMXPlayerVideo.cpp | 10 ++++++----
|
||||||
|
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp
|
||||||
|
index ec7e7f6..5a6e31e 100644
|
||||||
|
--- a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp
|
||||||
|
+++ b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp
|
||||||
|
@@ -461,15 +461,15 @@ void OMXPlayerVideo::Output(int iGroupId, double pts, bool bDropPacket)
|
||||||
|
m_iSleepEndTime = iCurrentClock + iSleepTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (!CThread::m_bStop && m_av_clock->GetAbsoluteClock(false) < m_iSleepEndTime)
|
||||||
|
+ if (!CThread::m_bStop && m_av_clock->GetAbsoluteClock(false) < m_iSleepEndTime + DVD_MSEC_TO_TIME(500))
|
||||||
|
return;
|
||||||
|
|
||||||
|
- m_iSleepEndTime = DVD_NOPTS_VALUE;
|
||||||
|
-
|
||||||
|
double pts_media = m_av_clock->OMXMediaTime(false, false);
|
||||||
|
ProcessOverlays(iGroupId, pts_media);
|
||||||
|
|
||||||
|
- g_renderManager.FlipPage(CThread::m_bStop, pts_media / DVD_TIME_BASE, -1, FS_NONE);
|
||||||
|
+ g_renderManager.FlipPage(CThread::m_bStop, m_iSleepEndTime / DVD_TIME_BASE, -1, FS_NONE);
|
||||||
|
+
|
||||||
|
+ m_iSleepEndTime = DVD_NOPTS_VALUE;
|
||||||
|
|
||||||
|
//m_av_clock->WaitAbsoluteClock((iCurrentClock + iSleepTime));
|
||||||
|
}
|
||||||
|
@@ -580,12 +580,14 @@ void OMXPlayerVideo::Process()
|
||||||
|
m_av_clock->OMXReset(false);
|
||||||
|
m_av_clock->UnLock();
|
||||||
|
m_started = false;
|
||||||
|
+ m_iSleepEndTime = DVD_NOPTS_VALUE;
|
||||||
|
}
|
||||||
|
else if (pMsg->IsType(CDVDMsg::GENERAL_FLUSH)) // private message sent by (COMXPlayerVideo::Flush())
|
||||||
|
{
|
||||||
|
CLog::Log(LOGDEBUG, "COMXPlayerVideo - CDVDMsg::GENERAL_FLUSH");
|
||||||
|
m_stalled = true;
|
||||||
|
m_started = false;
|
||||||
|
+ m_iSleepEndTime = DVD_NOPTS_VALUE;
|
||||||
|
m_av_clock->Lock();
|
||||||
|
m_av_clock->OMXStop(false);
|
||||||
|
m_omxVideo.Reset();
|
||||||
|
--
|
||||||
|
1.7.10
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user