mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
xbmc: add PR2491
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
7e82a3ea2f
commit
5804024943
151
packages/mediacenter/xbmc/patches/xbmc-990.47-PR2491.patch
Normal file
151
packages/mediacenter/xbmc/patches/xbmc-990.47-PR2491.patch
Normal file
@ -0,0 +1,151 @@
|
||||
From 1410f361434bf1af9bc436cd01d977f1a372f71b Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Sat, 23 Mar 2013 18:29:13 +0100
|
||||
Subject: [PATCH 1/2] pvr: fix too early finish of recordings
|
||||
|
||||
---
|
||||
.../dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp | 11 ++++++++---
|
||||
xbmc/cores/dvdplayer/DVDPlayer.cpp | 9 ---------
|
||||
xbmc/filesystem/PVRFile.h | 2 +-
|
||||
3 files changed, 9 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp
|
||||
index fe19a3d..a0475d1 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp
|
||||
@@ -315,9 +315,14 @@ bool CDVDInputStreamPVRManager::UpdateItem(CFileItem& item)
|
||||
|
||||
if(m_bReopened)
|
||||
{
|
||||
- m_bReopened = false;
|
||||
- m_eof = false;
|
||||
- return NEXTSTREAM_RETRY;
|
||||
+ if (IsEOF())
|
||||
+ return NEXTSTREAM_NONE;
|
||||
+ else
|
||||
+ {
|
||||
+ m_bReopened = false;
|
||||
+ m_eof = false;
|
||||
+ return NEXTSTREAM_RETRY;
|
||||
+ }
|
||||
}
|
||||
|
||||
if (m_pOtherStream)
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
index a1f56ce..cdf5876 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
@@ -1174,15 +1174,6 @@ void CDVDPlayer::Process()
|
||||
Sleep(100);
|
||||
continue;
|
||||
}
|
||||
- else if (m_pInputStream->IsStreamType(DVDSTREAM_TYPE_PVRMANAGER))
|
||||
- {
|
||||
- CDVDInputStreamPVRManager* pStream = static_cast<CDVDInputStreamPVRManager*>(m_pInputStream);
|
||||
- if (pStream->IsEOF())
|
||||
- break;
|
||||
-
|
||||
- Sleep(100);
|
||||
- continue;
|
||||
- }
|
||||
|
||||
// make sure we tell all players to finish it's data
|
||||
if(m_CurrentAudio.inited)
|
||||
diff --git a/xbmc/filesystem/PVRFile.h b/xbmc/filesystem/PVRFile.h
|
||||
index edf0e10..4d51da8 100644
|
||||
--- a/xbmc/filesystem/PVRFile.h
|
||||
+++ b/xbmc/filesystem/PVRFile.h
|
||||
@@ -44,7 +44,7 @@ class CPVRFile
|
||||
virtual void Close();
|
||||
virtual unsigned int Read(void* buffer, int64_t size);
|
||||
virtual CStdString GetContent() { return ""; }
|
||||
- virtual bool SkipNext() { return true; }
|
||||
+ virtual bool SkipNext() { return !m_isPlayRecording; }
|
||||
|
||||
virtual bool Delete(const CURL& url);
|
||||
virtual bool Rename(const CURL& url, const CURL& urlnew);
|
||||
--
|
||||
1.8.1.5
|
||||
|
||||
|
||||
From cbad7f0e8feca4cb96a21bb6c84d98272edb000f Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Thu, 28 Mar 2013 16:25:50 +0100
|
||||
Subject: [PATCH 2/2] pvr: align NexStream and SkipNext with logic in dvdplayer
|
||||
|
||||
---
|
||||
.../DVDInputStreams/DVDInputStreamPVRManager.cpp | 24 +++++++---------------
|
||||
.../DVDInputStreams/DVDInputStreamPVRManager.h | 1 -
|
||||
2 files changed, 7 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp
|
||||
index a0475d1..431c280 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp
|
||||
@@ -45,7 +45,6 @@
|
||||
m_pLiveTV = NULL;
|
||||
m_pOtherStream = NULL;
|
||||
m_eof = true;
|
||||
- m_bReopened = false;
|
||||
m_iScanTimeout = 0;
|
||||
}
|
||||
|
||||
@@ -311,28 +310,20 @@ bool CDVDInputStreamPVRManager::UpdateItem(CFileItem& item)
|
||||
|
||||
CDVDInputStream::ENextStream CDVDInputStreamPVRManager::NextStream()
|
||||
{
|
||||
- if(!m_pFile) return NEXTSTREAM_NONE;
|
||||
+ if(!m_pFile)
|
||||
+ return NEXTSTREAM_NONE;
|
||||
|
||||
- if(m_bReopened)
|
||||
- {
|
||||
- if (IsEOF())
|
||||
- return NEXTSTREAM_NONE;
|
||||
- else
|
||||
- {
|
||||
- m_bReopened = false;
|
||||
- m_eof = false;
|
||||
- return NEXTSTREAM_RETRY;
|
||||
- }
|
||||
- }
|
||||
+ m_eof = IsEOF();
|
||||
|
||||
if (m_pOtherStream)
|
||||
return m_pOtherStream->NextStream();
|
||||
else if(m_pFile->SkipNext())
|
||||
{
|
||||
- m_eof = false;
|
||||
- return NEXTSTREAM_OPEN;
|
||||
+ if (m_eof)
|
||||
+ return NEXTSTREAM_OPEN;
|
||||
+ else
|
||||
+ return NEXTSTREAM_RETRY;
|
||||
}
|
||||
-
|
||||
return NEXTSTREAM_NONE;
|
||||
}
|
||||
|
||||
@@ -385,7 +376,6 @@ bool CDVDInputStreamPVRManager::CloseAndOpen(const char* strFile)
|
||||
|
||||
if (Open(strFile, m_content))
|
||||
{
|
||||
- m_bReopened = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.h b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.h
|
||||
index 9a9580f..78c7340 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.h
|
||||
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.h
|
||||
@@ -98,7 +98,6 @@ class CDVDInputStreamPVRManager
|
||||
XFILE::IRecordable* m_pRecordable;
|
||||
bool m_eof;
|
||||
std::string m_strContent;
|
||||
- bool m_bReopened;
|
||||
unsigned int m_iScanTimeout;
|
||||
};
|
||||
|
||||
--
|
||||
1.8.1.5
|
||||
|
Loading…
x
Reference in New Issue
Block a user