mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 05:36:47 +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