xbmc: update to xbmc-14-94bc482

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2014-08-09 19:14:19 +02:00
parent 56f841c28d
commit 4e82b862d9
4 changed files with 183 additions and 216 deletions

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="xbmc-theme-Confluence"
PKG_VERSION="14-bb86c12"
PKG_VERSION="14-94bc482"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="xbmc"
PKG_VERSION="14-bb86c12"
PKG_VERSION="14-94bc482"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
@ -310,7 +310,6 @@ PKG_CONFIGURE_OPTS_TARGET="gl_cv_func_gettimeofday_clobber=no \
$XBMC_OPENMAX \
$XBMC_VDPAU \
$XBMC_VAAPI \
--disable-crystalhd \
--disable-vtbdecoder \
--disable-tegra \
--disable-profiling \

View File

@ -1,7 +1,7 @@
From 1a5f6373ff6b5c9b102978ae23bb3015e09c2ca6 Mon Sep 17 00:00:00 2001
From 534a3eb63331fd509b17bd5c503a8068de40af5b Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:34:39 +0200
Subject: [PATCH 01/29] videoplayer: adapt lateness detection and dropping to
Subject: [PATCH 01/28] videoplayer: adapt lateness detection and dropping to
buffering
---
@ -289,7 +289,7 @@ index 1f564bb..48564d1 100644
+ int m_codecControlFlags;
};
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index be532ec..d2eae8a 100644
index ac78f18..a3edad2 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -38,6 +38,7 @@
@ -397,7 +397,7 @@ index be532ec..d2eae8a 100644
// reset the request, the following while loop may break before
// setting the flag to a new value
bRequestDrop = false;
@@ -1170,45 +1188,17 @@ int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts)
@@ -1168,45 +1186,17 @@ int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts)
, "CDVDPlayerVideo::OutputPicture");
}
@ -447,7 +447,7 @@ index be532ec..d2eae8a 100644
// set fieldsync if picture is interlaced
EFIELDSYNC mDisplayField = FS_NONE;
@@ -1241,7 +1231,7 @@ int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts)
@@ -1239,7 +1229,7 @@ int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts)
if (index < 0)
return EOS_DROPPED;
@ -456,7 +456,7 @@ index be532ec..d2eae8a 100644
return result;
#else
@@ -1541,3 +1531,124 @@ void CDVDPlayerVideo::CalcFrameRate()
@@ -1539,3 +1529,124 @@ void CDVDPlayerVideo::CalcFrameRate()
m_iFrameRateCount = 0;
}
}
@ -582,7 +582,7 @@ index be532ec..d2eae8a 100644
+ m_totalGain += frametime;
+}
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.h b/xbmc/cores/dvdplayer/DVDPlayerVideo.h
index 296cae6..4795ca0 100644
index 37a37c4..be14832 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.h
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.h
@@ -37,6 +37,24 @@ class CDVDOverlayCodecCC;
@ -610,7 +610,7 @@ index 296cae6..4795ca0 100644
class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
{
public:
@@ -105,6 +123,7 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
@@ -101,6 +119,7 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
#define EOS_ABORT 1
#define EOS_DROPPED 2
#define EOS_VERYLATE 4
@ -618,7 +618,7 @@ index 296cae6..4795ca0 100644
void AutoCrop(DVDVideoPicture* pPicture);
void AutoCrop(DVDVideoPicture *pPicture, RECT &crop);
@@ -119,7 +138,6 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
@@ -116,7 +135,6 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
CDVDMessageQueue m_messageQueue;
CDVDMessageQueue& m_messageParent;
@ -626,7 +626,7 @@ index 296cae6..4795ca0 100644
double m_iVideoDelay;
double m_iSubtitleDelay;
double m_FlipTimeStamp; // time stamp of last flippage. used to play at a forced framerate
@@ -131,6 +149,7 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
@@ -128,6 +146,7 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
void ResetFrameRateCalc();
void CalcFrameRate();
@ -634,7 +634,7 @@ index 296cae6..4795ca0 100644
double m_fFrameRate; //framerate of the video currently playing
bool m_bCalcFrameRate; //if we should calculate the framerate from the timestamps
@@ -184,5 +203,7 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
@@ -181,5 +200,7 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
CPullupCorrection m_pullupCorrection;
std::list<DVDMessageListItem> m_packets;
@ -646,22 +646,22 @@ index 296cae6..4795ca0 100644
2.0.3
From ca470bff36fcc6a8ab30a4205f34c4a215e9851d Mon Sep 17 00:00:00 2001
From 72064c4a73a0388bd9494e7c26ed0b7c4ad3dde2 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Sun, 2 Sep 2012 16:05:21 +0200
Subject: [PATCH 02/29] video player: present correct pts to user for a/v sync
Subject: [PATCH 02/28] video player: present correct pts to user for a/v sync
(after buffering in renderer)
---
xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 16 ++++++++++++++++
xbmc/cores/dvdplayer/DVDPlayerVideo.h | 2 +-
2 files changed, 17 insertions(+), 1 deletion(-)
xbmc/cores/dvdplayer/DVDPlayerVideo.h | 3 ++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index d2eae8a..75c67a9 100644
index a3edad2..1e70fca 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -1451,6 +1451,22 @@ void CDVDPlayerVideo::ResetFrameRateCalc()
@@ -1449,6 +1449,22 @@ void CDVDPlayerVideo::ResetFrameRateCalc()
g_advancedSettings.m_videoFpsDetect == 0;
}
@ -685,26 +685,27 @@ index d2eae8a..75c67a9 100644
#define MAXFRAMESERR 1000
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.h b/xbmc/cores/dvdplayer/DVDPlayerVideo.h
index 4795ca0..b60a0ee 100644
index be14832..731bd0e 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.h
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.h
@@ -100,7 +100,7 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
bool InitializedOutputDevice();
@@ -97,7 +97,8 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
bool IsStalled() const { return m_stalled; }
bool IsEOS() { return false; }
- double GetCurrentPts() { return m_iCurrentPts; }
+ double GetCurrentPts();
int GetPullupCorrection() { return m_pullupCorrection.GetPatternLength(); }
+ int GetPullupCorrection() { return m_pullupCorrection.GetPatternLength(); }
double GetOutputDelay(); /* returns the expected delay, from that a packet is put in queue */
std::string GetPlayerInfo();
--
2.0.3
From 10df96a1b9ed083fc294dbf63ec194f64678a8d7 Mon Sep 17 00:00:00 2001
From 58cc4996527897c8e40de6b1aefaca0d4565e4be Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 1 Jun 2013 11:21:19 +0200
Subject: [PATCH 03/29] renderer: bump buffers to 5
Subject: [PATCH 03/28] renderer: bump buffers to 5
---
xbmc/cores/VideoRenderers/BaseRenderer.h | 2 +-
@ -727,10 +728,10 @@ index fb41ccf..f5e5677 100644
2.0.3
From 4889fa6842a6a33b6e8392bd6735ffd20e3d02b1 Mon Sep 17 00:00:00 2001
From 49590bcaa102224003d0da0c589dbc0a6137045d Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:41:31 +0200
Subject: [PATCH 04/29] videoplayer: update frametime, it might change due to
Subject: [PATCH 04/28] videoplayer: update frametime, it might change due to
fps detection
---
@ -738,7 +739,7 @@ Subject: [PATCH 04/29] videoplayer: update frametime, it might change due to
1 file changed, 2 insertions(+)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index 75c67a9..fb7ea06 100644
index 1e70fca..5761270 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -706,6 +706,8 @@ void CDVDPlayerVideo::Process()
@ -754,10 +755,10 @@ index 75c67a9..fb7ea06 100644
2.0.3
From 4c75b9140604b9eeb8ccd25fef8cd99396f63238 Mon Sep 17 00:00:00 2001
From 6a20f1991920b327ab7b3ecbc5856e01c8507fb7 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:43:06 +0200
Subject: [PATCH 05/29] videoplayer: give streams with invalid fps a chance for
Subject: [PATCH 05/28] videoplayer: give streams with invalid fps a chance for
fps detection
---
@ -765,10 +766,10 @@ Subject: [PATCH 05/29] videoplayer: give streams with invalid fps a chance for
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index fb7ea06..af7a443 100644
index 5761270..e8d855f 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -1493,7 +1493,7 @@ void CDVDPlayerVideo::CalcFrameRate()
@@ -1491,7 +1491,7 @@ void CDVDPlayerVideo::CalcFrameRate()
double frameduration = m_pullupCorrection.GetFrameDuration();
if (frameduration == DVD_NOPTS_VALUE ||
@ -781,10 +782,10 @@ index fb7ea06..af7a443 100644
2.0.3
From 4cfd387c0d1cefd90f6274121513c344705e1a02 Mon Sep 17 00:00:00 2001
From aafac347bcfbff4005e8936ad45ac6ce261c6955 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:49:05 +0200
Subject: [PATCH 06/29] dvdplayer: allow rewinding at end of stream, do a seek
Subject: [PATCH 06/28] dvdplayer: allow rewinding at end of stream, do a seek
after rewind
---
@ -792,10 +793,10 @@ Subject: [PATCH 06/29] dvdplayer: allow rewinding at end of stream, do a seek
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
index a2ac2c6..b3d7c3d 100644
index cbdd299..d3a4c59 100644
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
@@ -1582,7 +1582,7 @@ void CDVDPlayer::HandlePlaySpeed()
@@ -1583,7 +1583,7 @@ void CDVDPlayer::HandlePlaySpeed()
}
else if (m_CurrentVideo.id >= 0
@ -804,7 +805,7 @@ index a2ac2c6..b3d7c3d 100644
&& m_SpeedState.lastpts != m_dvdPlayerVideo.GetCurrentPts()
&& m_SpeedState.lasttime != GetTime())
{
@@ -2208,6 +2208,12 @@ void CDVDPlayer::HandleMessages()
@@ -2209,6 +2209,12 @@ void CDVDPlayer::HandleMessages()
pvrinputstream->Pause( speed == 0 );
}
@ -821,10 +822,10 @@ index a2ac2c6..b3d7c3d 100644
2.0.3
From 5d3daa2e5faaf0506a43e602600de054700167f6 Mon Sep 17 00:00:00 2001
From 8663f8954a2884092c5586187c8d9dacf6980084 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Mon, 20 Aug 2012 16:06:39 +0200
Subject: [PATCH 07/29] dvdplayer: observe pts counter overflow
Subject: [PATCH 07/28] dvdplayer: observe pts counter overflow
---
.../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 197 ++++++++++++++++++++-
@ -1107,10 +1108,10 @@ index 08eb3df..dd89584 100644
2.0.3
From 7f17dc86fad3c003be4fa1bcdc6bf1b9362f8147 Mon Sep 17 00:00:00 2001
From 228e833b8e8249bd9a1cdf4aa69c7a0e4f6e85ef Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Tue, 2 Oct 2012 13:02:10 +0200
Subject: [PATCH 08/29] dvdplayer: avoid short screen flicker caused by
Subject: [PATCH 08/28] dvdplayer: avoid short screen flicker caused by
unnecessary reconfigure of renderer
---
@ -1118,10 +1119,10 @@ Subject: [PATCH 08/29] dvdplayer: avoid short screen flicker caused by
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index af7a443..cc6e88c 100644
index e8d855f..5bff37e 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -1052,13 +1052,16 @@ int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts)
@@ -1050,13 +1050,16 @@ int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts)
#ifdef HAS_VIDEO_PLAYBACK
double config_framerate = m_bFpsInvalid ? 0.0 : m_fFrameRate;
@ -1143,10 +1144,10 @@ index af7a443..cc6e88c 100644
2.0.3
From 6a3924dd51b9de56f38f60bf736e60aa969c6f40 Mon Sep 17 00:00:00 2001
From 07c4180c6db8cb4650388a58d13ca9f12e881a80 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Thu, 11 Oct 2012 12:05:50 +0200
Subject: [PATCH 09/29] vdpau: advanced settings for auto deinterlacing
Subject: [PATCH 09/28] vdpau: advanced settings for auto deinterlacing
---
xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 8 ++++----
@ -1155,10 +1156,10 @@ Subject: [PATCH 09/29] vdpau: advanced settings for auto deinterlacing
3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
index 0c71532..345c442 100644
index 94c9188..1845198 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
@@ -1970,10 +1970,10 @@ EINTERLACEMETHOD CMixer::GetDeinterlacingMethod(bool log /* = false */)
@@ -1958,10 +1958,10 @@ EINTERLACEMETHOD CMixer::GetDeinterlacingMethod(bool log /* = false */)
if (method == VS_INTERLACEMETHOD_AUTO)
{
int deint = -1;
@ -1212,10 +1213,10 @@ index 7e50a63..980138e 100644
2.0.3
From 06dc66c7b370f9e016c03e3cc22b2583d21b4d10 Mon Sep 17 00:00:00 2001
From 8de4b8e67b17d5f4ccbd9a1a12188851f4d66aa0 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Fri, 2 Nov 2012 13:20:03 +0100
Subject: [PATCH 10/29] player: fix rewind
Subject: [PATCH 10/28] player: fix rewind
---
xbmc/cores/dvdplayer/DVDMessage.h | 5 ++++-
@ -1263,10 +1264,10 @@ index a365821..07366df 100644
class CDVDMsgPlayerSeekChapter : public CDVDMsg
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
index b3d7c3d..a267559 100644
index d3a4c59..09ba292 100644
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
@@ -1583,11 +1583,13 @@ void CDVDPlayer::HandlePlaySpeed()
@@ -1584,11 +1584,13 @@ void CDVDPlayer::HandlePlaySpeed()
}
else if (m_CurrentVideo.id >= 0
&& (m_CurrentVideo.inited == true || GetPlaySpeed() < 0) // allow rewind at end of file
@ -1281,7 +1282,7 @@ index b3d7c3d..a267559 100644
// check how much off clock video is when ff/rw:ing
// a problem here is that seeking isn't very accurate
// and since the clock will be resynced after seek
@@ -1606,7 +1608,7 @@ void CDVDPlayer::HandlePlaySpeed()
@@ -1607,7 +1609,7 @@ void CDVDPlayer::HandlePlaySpeed()
{
CLog::Log(LOGDEBUG, "CDVDPlayer::Process - Seeking to catch up");
int64_t iTime = (int64_t)DVD_TIME_TO_MSEC(m_clock.GetClock() + m_State.time_offset + 500000.0 * m_playSpeed / DVD_PLAYSPEED_NORMAL);
@ -1290,7 +1291,7 @@ index b3d7c3d..a267559 100644
}
}
}
@@ -2057,7 +2059,7 @@ void CDVDPlayer::HandleMessages()
@@ -2058,7 +2060,7 @@ void CDVDPlayer::HandleMessages()
else
m_StateInput.dts = start;
@ -1299,7 +1300,7 @@ index b3d7c3d..a267559 100644
}
else
CLog::Log(LOGWARNING, "error while seeking");
@@ -2193,9 +2195,10 @@ void CDVDPlayer::HandleMessages()
@@ -2194,9 +2196,10 @@ void CDVDPlayer::HandleMessages()
double offset;
offset = CDVDClock::GetAbsoluteClock() - m_State.timestamp;
offset *= m_playSpeed / DVD_PLAYSPEED_NORMAL;
@ -1311,7 +1312,7 @@ index b3d7c3d..a267559 100644
m_State.timestamp = CDVDClock::GetAbsoluteClock();
}
@@ -2211,7 +2214,8 @@ void CDVDPlayer::HandleMessages()
@@ -2212,7 +2215,8 @@ void CDVDPlayer::HandleMessages()
// do a seek after rewind, clock is not in sync with current pts
if (m_playSpeed < 0 && speed >= 0)
{
@ -1321,7 +1322,7 @@ index b3d7c3d..a267559 100644
}
// if playspeed is different then DVD_PLAYSPEED_NORMAL or DVD_PLAYSPEED_PAUSE
@@ -3106,7 +3110,7 @@ void CDVDPlayer::UpdateClockMaster()
@@ -3096,7 +3100,7 @@ void CDVDPlayer::UpdateClockMaster()
}
}
@ -1330,7 +1331,7 @@ index b3d7c3d..a267559 100644
{
double startpts;
if(accurate)
@@ -3118,19 +3122,23 @@ void CDVDPlayer::FlushBuffers(bool queued, double pts, bool accurate)
@@ -3108,19 +3112,23 @@ void CDVDPlayer::FlushBuffers(bool queued, double pts, bool accurate)
if(startpts != DVD_NOPTS_VALUE)
startpts -= m_offset_pts;
@ -1358,7 +1359,7 @@ index b3d7c3d..a267559 100644
m_CurrentTeletext.dts = DVD_NOPTS_VALUE;
m_CurrentTeletext.startpts = startpts;
@@ -3174,7 +3182,7 @@ void CDVDPlayer::FlushBuffers(bool queued, double pts, bool accurate)
@@ -3164,7 +3172,7 @@ void CDVDPlayer::FlushBuffers(bool queued, double pts, bool accurate)
m_CurrentTeletext.started = false;
}
@ -1368,10 +1369,10 @@ index b3d7c3d..a267559 100644
UpdatePlayState(0);
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.h b/xbmc/cores/dvdplayer/DVDPlayer.h
index 6d80975..1c26505 100644
index 2b16a90..68d68a1 100644
--- a/xbmc/cores/dvdplayer/DVDPlayer.h
+++ b/xbmc/cores/dvdplayer/DVDPlayer.h
@@ -302,7 +302,7 @@ class CDVDPlayer : public IPlayer, public CThread, public IDVDPlayer
@@ -303,7 +303,7 @@ class CDVDPlayer : public IPlayer, public CThread, public IDVDPlayer
bool GetCachingTimes(double& play_left, double& cache_left, double& file_offset);
@ -1380,7 +1381,7 @@ index 6d80975..1c26505 100644
void HandleMessages();
void HandlePlaySpeed();
@@ -355,8 +355,9 @@ class CDVDPlayer : public IPlayer, public CThread, public IDVDPlayer
@@ -356,8 +356,9 @@ class CDVDPlayer : public IPlayer, public CThread, public IDVDPlayer
int m_playSpeed;
struct SSpeedState
{
@ -1393,10 +1394,10 @@ index 6d80975..1c26505 100644
int m_errorCount;
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index cc6e88c..2059ab5 100644
index 5bff37e..f530567 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -1466,7 +1466,7 @@ double CDVDPlayerVideo::GetCurrentPts()
@@ -1464,7 +1464,7 @@ double CDVDPlayerVideo::GetCurrentPts()
if( m_stalled )
iRenderPts = DVD_NOPTS_VALUE;
@ -1405,7 +1406,7 @@ index cc6e88c..2059ab5 100644
iRenderPts = iRenderPts - max(0.0, iSleepTime);
return iRenderPts;
@@ -1565,6 +1565,8 @@ int CDVDPlayerVideo::CalcDropRequirement(double pts)
@@ -1563,6 +1563,8 @@ int CDVDPlayerVideo::CalcDropRequirement(double pts)
int iDroppedPics = -1;
int iBufferLevel;
@ -1415,7 +1416,7 @@ index cc6e88c..2059ab5 100644
if (!m_pVideoCodec->GetCodecStats(iDecoderPts, iDroppedPics))
iDecoderPts = pts;
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.h b/xbmc/cores/dvdplayer/DVDPlayerVideo.h
index b60a0ee..ecd2d20 100644
index 731bd0e..9f37edf 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.h
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.h
@@ -51,6 +51,7 @@ class CDroppingStats
@ -1430,20 +1431,20 @@ index b60a0ee..ecd2d20 100644
2.0.3
From 81f0ce5da5cf8fb773c96156de4591f962853ff5 Mon Sep 17 00:00:00 2001
From a1e1a9e968489ce8c30af4685768325fd4e318c6 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Thu, 28 Mar 2013 15:18:53 +0100
Subject: [PATCH 11/29] OMXPlayer: some caching fixes for pvr
Subject: [PATCH 11/28] OMXPlayer: some caching fixes for pvr
---
xbmc/cores/omxplayer/OMXPlayer.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp
index b135741..8965fe2 100644
index e7a39fa..a62b874 100644
--- a/xbmc/cores/omxplayer/OMXPlayer.cpp
+++ b/xbmc/cores/omxplayer/OMXPlayer.cpp
@@ -2524,7 +2524,8 @@ void COMXPlayer::HandleMessages()
@@ -2467,7 +2467,8 @@ void CDVDPlayer::HandleMessages()
m_messenger.Put(new CDVDMsgPlayerSeek(GetTime(), (speed < 0), true, false, false, true));
m_playSpeed = speed;
@ -1457,20 +1458,20 @@ index b135741..8965fe2 100644
2.0.3
From 37d547fba784e6b8066f6d72ae43a308eaaec032 Mon Sep 17 00:00:00 2001
From 0c3bd8c4bd74e2ba8a0fbfab61b17b99f4893042 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Thu, 28 Mar 2013 20:50:59 +0100
Subject: [PATCH 12/29] fix incorrect display of fps when dr kicks in
Subject: [PATCH 12/28] fix incorrect display of fps when dr kicks in
---
xbmc/Application.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
index 397bfa4..fda7929 100644
index 57ea71b..29672b1 100644
--- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp
@@ -2336,10 +2336,11 @@ void CApplication::Render()
@@ -2325,10 +2325,11 @@ void CApplication::Render()
if (frameTime < singleFrameTime)
Sleep(singleFrameTime - frameTime);
}
@ -1487,10 +1488,10 @@ index 397bfa4..fda7929 100644
2.0.3
From 2839e0755a58cd7b5df97f53987ba39a2635622f Mon Sep 17 00:00:00 2001
From a5ebb27f8d8692ffd8fcbc76f4dfdfd2fe31cadc Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Thu, 25 Jul 2013 17:18:13 +0200
Subject: [PATCH 13/29] ActiveAE: slightly reduce buffer size
Subject: [PATCH 13/28] ActiveAE: slightly reduce buffer size
---
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 4 ++--
@ -1515,10 +1516,10 @@ index fe5e893..c98c73b 100644
2.0.3
From 960c1a510cec7624691166547a3be29add96a56f Mon Sep 17 00:00:00 2001
From 9071af299b1ad43f612ac9d4dad82f0990d34343 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sun, 4 Aug 2013 10:11:16 +0200
Subject: [PATCH 14/29] Revert "vdpau: comment some features that will be added
Subject: [PATCH 14/28] Revert "vdpau: comment some features that will be added
later"
This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf.
@ -1527,10 +1528,10 @@ This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf.
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
index 345c442..6d2e564 100644
index 1845198..2bfea1a 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
@@ -1097,8 +1097,7 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame)
@@ -1085,8 +1085,7 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame)
m_bufferStats.IncDecoded();
m_vdpauOutput.m_dataPort.SendOutMessage(COutputDataProtocol::NEWFRAME, &pic, sizeof(pic));
@ -1540,7 +1541,7 @@ index 345c442..6d2e564 100644
}
int retval = 0;
@@ -2294,8 +2293,7 @@ void CMixer::InitCycle()
@@ -2282,8 +2281,7 @@ void CMixer::InitCycle()
int flags;
uint64_t latency;
m_config.stats->GetParams(latency, flags);
@ -1550,7 +1551,7 @@ index 345c442..6d2e564 100644
SetPostProcFeatures(false);
else
SetPostProcFeatures(true);
@@ -2307,8 +2305,7 @@ void CMixer::InitCycle()
@@ -2295,8 +2293,7 @@ void CMixer::InitCycle()
bool interlaced = m_mixerInput[1].DVDPic.iFlags & DVP_FLAG_INTERLACED;
m_SeenInterlaceFlag |= interlaced;
@ -1560,7 +1561,7 @@ index 345c442..6d2e564 100644
(mode == VS_DEINTERLACEMODE_FORCE ||
(mode == VS_DEINTERLACEMODE_AUTO && interlaced)))
{
@@ -2330,8 +2327,7 @@ void CMixer::InitCycle()
@@ -2318,8 +2315,7 @@ void CMixer::InitCycle()
m_config.stats->SetCanSkipDeint(true);
}
@ -1574,10 +1575,10 @@ index 345c442..6d2e564 100644
2.0.3
From 42e8966f4e32bbd42a61c7a95483246ffce274aa Mon Sep 17 00:00:00 2001
From 32a106ecb62dfe499ceda20b3ada4d4ed345317e Mon Sep 17 00:00:00 2001
From: Marcel Groothuis <margro.xbmc@gmail.com>
Date: Thu, 5 Dec 2013 22:02:50 +0100
Subject: [PATCH 15/29] ffmpeg demuxer: faster channel change for PVR addons
Subject: [PATCH 15/28] ffmpeg demuxer: faster channel change for PVR addons
without internal demuxing (such as MediaPortal, ArgusTV, MythTV, NextPVR)
Credits: FernetMenta, Davilla, Popcornmix, Whaupt
@ -1937,10 +1938,10 @@ index ca689d0..f383563 100644
2.0.3
From 14bc80543a56bc13bd1431bb69abc1eb6b797574 Mon Sep 17 00:00:00 2001
From e3c9ecc81b8dcda490926e3d3d9393e1294e2948 Mon Sep 17 00:00:00 2001
From: Wolfgang Haupt <w.haupt@at-visions.com>
Date: Thu, 5 Dec 2013 22:11:57 +0100
Subject: [PATCH 16/29] DVDFactoryDemuxer: skip streaminfo for udp tcp and
Subject: [PATCH 16/28] DVDFactoryDemuxer: skip streaminfo for udp tcp and
pvr-channels
---
@ -2064,10 +2065,10 @@ index 667f6d3..0094709 100644
2.0.3
From 27f983a373cdf3bc660a865f21a778316203a2d3 Mon Sep 17 00:00:00 2001
From 9221ae2edf8a18c18c67fcf438eac56ba3118e7c Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sun, 22 Dec 2013 14:52:29 +0100
Subject: [PATCH 17/29] linux: add shared lib for sse4 operations
Subject: [PATCH 17/28] linux: add shared lib for sse4 operations
---
Makefile.in | 8 ++-
@ -2108,10 +2109,10 @@ index 433d5ba..1dd97ee 100644
externals: codecs libs visualizations screensavers libaddon pvraddons
diff --git a/configure.in b/configure.in
index a9d5f46..c6f7cf1 100644
index fb6ab20..3f3b061 100644
--- a/configure.in
+++ b/configure.in
@@ -843,6 +843,19 @@ elif test "$use_arch" = "arm"; then
@@ -824,6 +824,19 @@ elif test "$use_arch" = "arm"; then
fi
fi
@ -2131,7 +2132,7 @@ index a9d5f46..c6f7cf1 100644
# Checks for library functions.
AC_FUNC_ALLOCA
AC_FUNC_CHOWN
@@ -2557,6 +2570,10 @@ if test "$use_codec_libstagefright" = "yes"; then
@@ -2471,6 +2484,10 @@ if test "$use_codec_libstagefright" = "yes"; then
OUTPUT_FILES="$OUTPUT_FILES xbmc/cores/dvdplayer/DVDCodecs/Video/libstagefrightICS/Makefile"
fi
@ -2142,7 +2143,7 @@ index a9d5f46..c6f7cf1 100644
OUTPUT_FILES="$OUTPUT_FILES \
xbmc/interfaces/python/Makefile \
xbmc/interfaces/python/test/Makefile"
@@ -2634,6 +2651,7 @@ AC_SUBST(GTEST_CONFIGURED)
@@ -2547,6 +2564,7 @@ AC_SUBST(GTEST_CONFIGURED)
AC_SUBST(USE_DOXYGEN)
AC_SUBST(USE_PVR_ADDONS)
AC_SUBST(UPNP_DEFINES)
@ -2151,10 +2152,10 @@ index a9d5f46..c6f7cf1 100644
# pushd and popd are not available in other shells besides bash, so implement
# our own pushd/popd functions
diff --git a/xbmc/DllPaths_generated.h.in b/xbmc/DllPaths_generated.h.in
index 74bd5d1..5513949 100644
index 37a179b..1387cd4 100644
--- a/xbmc/DllPaths_generated.h.in
+++ b/xbmc/DllPaths_generated.h.in
@@ -90,4 +90,7 @@
@@ -83,4 +83,7 @@
/* xkbcommon */
#define DLL_PATH_XKBCOMMON "@XKBCOMMON_LIBRARY_SONAME@"
@ -2362,10 +2363,10 @@ index 0000000..45aa826
2.0.3
From 6bdf738ed60795c3bb9224be9144ca5429767e33 Mon Sep 17 00:00:00 2001
From 61c7d694f05f15487d1325379053e617ed432739 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Tue, 28 Jan 2014 10:05:26 +0100
Subject: [PATCH 18/29] xbmc pr 3080
Subject: [PATCH 18/28] xbmc pr 3080
---
xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 8 ++++++++
@ -2394,10 +2395,10 @@ index 6920db2..d72e256 100644
2.0.3
From f6ef191529a8c0b5c741efcc84300631874c7dd8 Mon Sep 17 00:00:00 2001
From 3c4c0e7d043360453c22a56a188aa78a55973bfd Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Tue, 11 Feb 2014 18:15:06 +0100
Subject: [PATCH 19/29] ActiveAE: add some debug logging
Subject: [PATCH 19/28] ActiveAE: add some debug logging
---
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp | 6 ++++++
@ -2425,10 +2426,10 @@ index ec10397..3b67fc0 100644
2.0.3
From 93a43540101240e2355f5a725fea8316dd94b1a9 Mon Sep 17 00:00:00 2001
From 9152d5b595eb2c9a5fdca54dd015c8cf99918b0b Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Fri, 13 Jun 2014 14:37:16 +0200
Subject: [PATCH 20/29] vaapi - postprocessing
Subject: [PATCH 20/28] vaapi - postprocessing
---
configure.in | 16 +-
@ -2449,10 +2450,10 @@ Subject: [PATCH 20/29] vaapi - postprocessing
15 files changed, 3466 insertions(+), 674 deletions(-)
diff --git a/configure.in b/configure.in
index c6f7cf1..9e35f52 100644
index 3f3b061..5db7181 100644
--- a/configure.in
+++ b/configure.in
@@ -1862,21 +1862,15 @@ if test "x$use_vaapi" != "xno"; then
@@ -1823,21 +1823,15 @@ if test "x$use_vaapi" != "xno"; then
USE_VAAPI=0
else
initial_val=$use_vaapi
@ -2480,10 +2481,10 @@ index c6f7cf1..9e35f52 100644
fi
else
diff --git a/language/English/strings.po b/language/English/strings.po
index dc494c1..a55ede5 100755
index a78c892..07dfe9d7 100755
--- a/language/English/strings.po
+++ b/language/English/strings.po
@@ -6189,7 +6189,13 @@ msgctxt "#13456"
@@ -6184,7 +6184,13 @@ msgctxt "#13456"
msgid "Hardware accelerated"
msgstr ""
@ -2498,7 +2499,7 @@ index dc494c1..a55ede5 100755
#: system/settings/settings.xml
msgctxt "#13500"
@@ -7353,7 +7359,22 @@ msgctxt "#16326"
@@ -7350,7 +7356,22 @@ msgctxt "#16326"
msgid "DXVA-HD"
msgstr ""
@ -2522,7 +2523,7 @@ index dc494c1..a55ede5 100755
#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
msgctxt "#16400"
@@ -15350,7 +15371,14 @@ msgctxt "#36431"
@@ -15356,7 +15377,14 @@ msgctxt "#36431"
msgid "Defines whether video decoding should be performed in software (requires more CPU) or with hardware acceleration where possible."
msgstr ""
@ -2539,7 +2540,7 @@ index dc494c1..a55ede5 100755
#: system/settings/settings.xml
diff --git a/system/settings/settings.xml b/system/settings/settings.xml
index cc331b7..ce9cb61 100644
index 7f33d83..f9f92c8 100644
--- a/system/settings/settings.xml
+++ b/system/settings/settings.xml
@@ -715,6 +715,21 @@
@ -2565,7 +2566,7 @@ index cc331b7..ce9cb61 100644
<requirement>HasDXVA2</requirement>
<dependencies>
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
index 73eb193..56b114e 100644
index 987b276..1dcc33e 100644
--- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
@@ -62,13 +62,6 @@ extern "C" {
@ -2777,7 +2778,7 @@ index 73eb193..56b114e 100644
void CLinuxRendererGL::RenderSoftware(int index, int field)
{
// used for textues uploaded from rgba or CVPixelBuffers.
@@ -2594,17 +2502,9 @@ bool CLinuxRendererGL::UploadVDPAUTexture420(int index)
@@ -2593,17 +2501,9 @@ bool CLinuxRendererGL::UploadVDPAUTexture420(int index)
void CLinuxRendererGL::DeleteVAAPITexture(int index)
{
#ifdef HAVE_LIBVA
@ -2797,7 +2798,7 @@ index 73eb193..56b114e 100644
#endif
}
@@ -2654,83 +2554,44 @@ bool CLinuxRendererGL::CreateVAAPITexture(int index)
@@ -2653,83 +2553,44 @@ bool CLinuxRendererGL::CreateVAAPITexture(int index)
bool CLinuxRendererGL::UploadVAAPITexture(int index)
{
#ifdef HAVE_LIBVA
@ -2908,7 +2909,7 @@ index 73eb193..56b114e 100644
#endif
return true;
}
@@ -3528,21 +3389,13 @@ bool CLinuxRendererGL::Supports(EINTERLACEMETHOD method)
@@ -3527,21 +3388,13 @@ bool CLinuxRendererGL::Supports(EINTERLACEMETHOD method)
return false;
}
@ -2935,7 +2936,7 @@ index 73eb193..56b114e 100644
#endif
return false;
}
@@ -3663,6 +3516,7 @@ unsigned int CLinuxRendererGL::GetProcessorSize()
@@ -3662,6 +3515,7 @@ unsigned int CLinuxRendererGL::GetProcessorSize()
if(m_format == RENDER_FMT_VDPAU
|| m_format == RENDER_FMT_VDPAU_420
|| m_format == RENDER_FMT_VAAPI
@ -2943,7 +2944,7 @@ index 73eb193..56b114e 100644
|| m_format == RENDER_FMT_CVBREF)
return 1;
else
@@ -3680,10 +3534,12 @@ void CLinuxRendererGL::AddProcessor(VDPAU::CVdpauRenderPicture *vdpau, int index
@@ -3679,10 +3533,12 @@ void CLinuxRendererGL::AddProcessor(VDPAU::CVdpauRenderPicture *vdpau, int index
#endif
#ifdef HAVE_LIBVA
@ -7117,10 +7118,10 @@ index ec99162..c6193b7 100644
}
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index 2059ab5..a6da859 100644
index f530567..f9a45e8 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -1011,6 +1011,7 @@ static std::string GetRenderFormatName(ERenderFormat format)
@@ -1009,6 +1009,7 @@ static std::string GetRenderFormatName(ERenderFormat format)
case RENDER_FMT_VDPAU_420: return "VDPAU_420";
case RENDER_FMT_DXVA: return "DXVA";
case RENDER_FMT_VAAPI: return "VAAPI";
@ -7161,10 +7162,10 @@ index 760eda5..965f297 100644
2.0.3
From eff747c2066e426c0eb8ad9581a250b09ac308ec Mon Sep 17 00:00:00 2001
From 173b28444dc0cb4c19ae8dd6e02bff243e440c99 Mon Sep 17 00:00:00 2001
From: fritsch <Peter.Fruehberger@gmail.com>
Date: Sun, 29 Jun 2014 14:45:28 +0200
Subject: [PATCH 21/29] VAAPI: Don't use swfilter for large surfaces - fallback
Subject: [PATCH 21/28] VAAPI: Don't use swfilter for large surfaces - fallback
to vaapi render
---
@ -7245,10 +7246,10 @@ index 93be338..4e1b136 100644
2.0.3
From 9741c9eab449c8fcc4ec2dfad3dc859645ad45d9 Mon Sep 17 00:00:00 2001
From 3b3c4838af667d397fcab56c89ff834e8385f608 Mon Sep 17 00:00:00 2001
From: fritsch <Peter.Fruehberger@gmail.com>
Date: Sun, 29 Jun 2014 16:21:44 +0200
Subject: [PATCH 22/29] VAAPI: Fix fallback condition
Subject: [PATCH 22/28] VAAPI: Fix fallback condition
---
xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 3 +--
@ -7272,10 +7273,10 @@ index 4e1b136..92b2f97 100644
2.0.3
From 5ee8e27e35a5709a6474a01cd6ceda098d91b278 Mon Sep 17 00:00:00 2001
From 2e10233b33c20b4a211d021446b6c60e96746727 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Fri, 18 Jul 2014 10:39:07 +0200
Subject: [PATCH 23/29] fast channel switch, make sure extradata is decoded
Subject: [PATCH 23/28] fast channel switch, make sure extradata is decoded
---
xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 3 ++-
@ -7299,10 +7300,10 @@ index c01bc11..d38bfab 100644
2.0.3
From bac2292ff9f68f91fc7f14bdcc79cd784167803b Mon Sep 17 00:00:00 2001
From e28c1e3fabdef231fec9dc7619e1fc2a8bdab5a1 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Mon, 21 Jul 2014 08:53:07 +0200
Subject: [PATCH 24/29] vaapi: fix potential segfault, squash me later
Subject: [PATCH 24/28] vaapi: fix potential segfault, squash me later
---
xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 1 +
@ -7324,10 +7325,10 @@ index 92b2f97..671e8a5 100644
2.0.3
From 5a9cbb8fa924af1afddfa90882f0358c6e6a749a Mon Sep 17 00:00:00 2001
From ff467857d796e61b16a89502930c9663114f6996 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Tue, 22 Jul 2014 15:36:31 +0200
Subject: [PATCH 25/29] dvdplayer: get number of channels for active audio
Subject: [PATCH 25/28] dvdplayer: get number of channels for active audio
stream from audio player, ffmpeg demuxer does not update this info for codecs
like AAC
@ -7338,10 +7339,10 @@ Subject: [PATCH 25/29] dvdplayer: get number of channels for active audio
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
index a267559..a7b23e5 100644
index 09ba292..920c686 100644
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
@@ -3788,12 +3788,18 @@ void CDVDPlayer::GetAudioStreamInfo(int index, SPlayerAudioStreamInfo &info)
@@ -3778,12 +3778,18 @@ void CDVDPlayer::GetAudioStreamInfo(int index, SPlayerAudioStreamInfo &info)
return;
if (index == GetAudioStream())
@ -7360,7 +7361,7 @@ index a267559..a7b23e5 100644
}
SelectionStream& s = m_SelectionStreams.Get(STREAM_AUDIO, index);
@@ -3811,7 +3817,6 @@ void CDVDPlayer::GetAudioStreamInfo(int index, SPlayerAudioStreamInfo &info)
@@ -3801,7 +3807,6 @@ void CDVDPlayer::GetAudioStreamInfo(int index, SPlayerAudioStreamInfo &info)
CDemuxStreamAudio* stream = static_cast<CDemuxStreamAudio*>(m_pDemuxer->GetStreamFromAudioId(index));
if (stream)
{
@ -7394,10 +7395,10 @@ index e4c6089..120cdde 100644
{
CSingleLock lock(m_info_section);
diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.h b/xbmc/cores/dvdplayer/DVDPlayerAudio.h
index 2a1b564..ec9570a 100644
index 3f13c5a..3761912 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerAudio.h
+++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.h
@@ -136,6 +136,7 @@ class CDVDPlayerAudio : public CThread, public IDVDStreamPlayer
@@ -133,6 +133,7 @@ class CDVDPlayerAudio : public CThread, public IDVDStreamPlayer
std::string GetPlayerInfo();
int GetAudioBitrate();
@ -7409,10 +7410,10 @@ index 2a1b564..ec9570a 100644
2.0.3
From 15bf21b291dc3d97187210ac8b8515d31e7e4c53 Mon Sep 17 00:00:00 2001
From ab393ea022b812c3bea6204634c01bdffee14bed Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Wed, 23 Jul 2014 15:07:37 +0200
Subject: [PATCH 26/29] ffmpeg demuxer: allow a stream change if pat/pmt was
Subject: [PATCH 26/28] ffmpeg demuxer: allow a stream change if pat/pmt was
not seen on open
---
@ -7442,10 +7443,10 @@ index d38bfab..e388ecf 100644
2.0.3
From 172d51ad45e6469724ca7a16502e8bce4c3dd28f Mon Sep 17 00:00:00 2001
From ccc9907c6b6fae4b541fa9f43356f1d43544ff82 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 26 Jul 2014 09:54:06 +0200
Subject: [PATCH 28/29] ffmpeg: fixup fast channel switch (deprecated
Subject: [PATCH 27/28] ffmpeg: fixup fast channel switch (deprecated
max_analyze_duration)
---
@ -7469,10 +7470,10 @@ index e388ecf..a8e1f7a 100644
2.0.3
From 17a6846a544096eb6493b576d2db1bd2c1f0b7a0 Mon Sep 17 00:00:00 2001
From f4fe7ca05e0e262ff78102911597914e48e83889 Mon Sep 17 00:00:00 2001
From: fritsch <peter.fruehberger@gmail.com>
Date: Sun, 3 Aug 2014 17:18:08 +0200
Subject: [PATCH 29/29] VAAPI: fixup don't cause deadlock squash into
Subject: [PATCH 28/28] VAAPI: fixup don't cause deadlock squash into
e98e77105895bad63e8205eaa5ea2fed94753ff1
---

View File

@ -1,97 +1,64 @@
From 233c97d88577ae7758884386b5e8c49d52bdd22f Mon Sep 17 00:00:00 2001
From 5d2b9a1d40720c8cc3306e7dab4e850271a1f00e Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Sun, 3 Aug 2014 13:00:06 +0300
Date: Fri, 8 Aug 2014 18:22:44 +0300
Subject: [PATCH] service addons: use a wrapper to setup systemd
---
xbmc/addons/AddonDatabase.cpp | 3 +++
xbmc/addons/AddonInstaller.cpp | 10 ++++++++++
xbmc/addons/AddonInstaller.h | 2 ++
3 files changed, 15 insertions(+)
xbmc/addons/Service.cpp | 12 ++++++++++++
xbmc/addons/Service.h | 3 +++
2 files changed, 15 insertions(+)
diff --git a/xbmc/addons/AddonDatabase.cpp b/xbmc/addons/AddonDatabase.cpp
index 51a8da8..deedb04 100644
--- a/xbmc/addons/AddonDatabase.cpp
+++ b/xbmc/addons/AddonDatabase.cpp
@@ -20,6 +20,7 @@
diff --git a/xbmc/addons/Service.cpp b/xbmc/addons/Service.cpp
index c406b11..c23b18a 100644
--- a/xbmc/addons/Service.cpp
+++ b/xbmc/addons/Service.cpp
@@ -53,6 +53,9 @@ AddonPtr CService::Clone() const
bool CService::Start()
{
bool ret = true;
+
+ CallOEWrapper(ID(), false);
+
switch (m_type)
{
#ifdef HAS_PYTHON
@@ -88,6 +91,8 @@ bool CService::Stop()
break;
}
#include "AddonDatabase.h"
#include "addons/AddonManager.h"
+#include "addons/AddonInstaller.h"
#include "utils/log.h"
#include "utils/Variant.h"
#include "utils/StringUtils.h"
@@ -596,6 +597,7 @@ bool CAddonDatabase::DisableAddon(const std::string &addonID, bool disable /* =
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(addon);
if (service)
service->Stop();
+ CAddonInstaller::Get().CallOEWrapper(addonID, true);
}
// restart the pvr manager when disabling a pvr add-on with the pvr manager enabled
else if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_PVRDLL, false) && addon &&
@@ -616,6 +618,7 @@ bool CAddonDatabase::DisableAddon(const std::string &addonID, bool disable /* =
// If the addon is a service, start it
if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_SERVICE, false) && addon && disabled)
{
+ CAddonInstaller::Get().CallOEWrapper(addonID, false);
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(addon);
if (service)
service->Start();
diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp
index b410d6c..d33f8a6 100644
--- a/xbmc/addons/AddonInstaller.cpp
+++ b/xbmc/addons/AddonInstaller.cpp
@@ -70,6 +70,13 @@ CAddonInstaller &CAddonInstaller::Get()
return addonInstaller;
+ CallOEWrapper(ID(), true);
+
return ret;
}
+void CAddonInstaller::CallOEWrapper(const std::string& ID, bool disable)
@@ -113,6 +118,13 @@ void CService::BuildServiceType()
}
}
+void CService::CallOEWrapper(const std::string& ID, bool disable)
+{
+ char cmd[255];
+ snprintf(cmd, sizeof(cmd), "/usr/lib/openelec/systemd-addon-wrapper %s %d", ID.c_str(), disable);
+ system(cmd);
+}
+
void CAddonInstaller::OnJobComplete(unsigned int jobID, bool success, CJob* job)
void CService::OnDisabled()
{
if (success)
@@ -644,6 +651,7 @@ bool CAddonInstallJob::OnPreInstall()
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(localAddon);
if (service)
service->Stop();
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), true);
}
return !CAddonMgr::Get().IsAddonDisabled(m_addon->ID());
}
@@ -773,6 +781,7 @@ void CAddonInstallJob::OnPostInstall(bool reloadAddon)
if (CAddonMgr::Get().GetAddon(m_addon->ID(), localAddon, ADDON_SERVICE, false))
{
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(localAddon);
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), false);
if (service)
service->Start();
}
@@ -840,6 +849,7 @@ bool CAddonUnInstallJob::DoWork()
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(m_addon);
if (service)
service->Stop();
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), true);
}
AddonPtr repoPtr = CAddonInstallJob::GetRepoForAddon(m_addon);
diff --git a/xbmc/addons/AddonInstaller.h b/xbmc/addons/AddonInstaller.h
index ab93a2f..7d62b5b 100644
--- a/xbmc/addons/AddonInstaller.h
+++ b/xbmc/addons/AddonInstaller.h
@@ -38,6 +38,8 @@ class CAddonInstaller : public IJobCallback
public:
static CAddonInstaller &Get();
+ void CallOEWrapper(const std::string& ID, bool disable);
Stop();
diff --git a/xbmc/addons/Service.h b/xbmc/addons/Service.h
index 98ec8b6..36e4109 100644
--- a/xbmc/addons/Service.h
+++ b/xbmc/addons/Service.h
@@ -47,6 +47,9 @@ namespace ADDON
bool Stop();
TYPE GetServiceType() { return m_type; }
START_OPTION GetStartOption() { return m_startOption; }
+
bool IsDownloading() const;
void GetInstallList(ADDON::VECADDONS &addons) const;
bool GetProgress(const std::string &addonID, unsigned int &percent) const;
+ void CallOEWrapper(const std::string& ID, bool disable);
+
virtual void OnDisabled();
virtual void OnEnabled();
virtual bool OnPreInstall();
--
1.9.1