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_NAME="xbmc-theme-Confluence"
PKG_VERSION="14-bb86c12" PKG_VERSION="14-94bc482"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"

View File

@ -17,7 +17,7 @@
################################################################################ ################################################################################
PKG_NAME="xbmc" PKG_NAME="xbmc"
PKG_VERSION="14-bb86c12" PKG_VERSION="14-94bc482"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
@ -310,7 +310,6 @@ PKG_CONFIGURE_OPTS_TARGET="gl_cv_func_gettimeofday_clobber=no \
$XBMC_OPENMAX \ $XBMC_OPENMAX \
$XBMC_VDPAU \ $XBMC_VDPAU \
$XBMC_VAAPI \ $XBMC_VAAPI \
--disable-crystalhd \
--disable-vtbdecoder \ --disable-vtbdecoder \
--disable-tegra \ --disable-tegra \
--disable-profiling \ --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> From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:34:39 +0200 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 buffering
--- ---
@ -289,7 +289,7 @@ index 1f564bb..48564d1 100644
+ int m_codecControlFlags; + int m_codecControlFlags;
}; };
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 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 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -38,6 +38,7 @@ @@ -38,6 +38,7 @@
@ -397,7 +397,7 @@ index be532ec..d2eae8a 100644
// reset the request, the following while loop may break before // reset the request, the following while loop may break before
// setting the flag to a new value // setting the flag to a new value
bRequestDrop = false; 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"); , "CDVDPlayerVideo::OutputPicture");
} }
@ -447,7 +447,7 @@ index be532ec..d2eae8a 100644
// set fieldsync if picture is interlaced // set fieldsync if picture is interlaced
EFIELDSYNC mDisplayField = FS_NONE; 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) if (index < 0)
return EOS_DROPPED; return EOS_DROPPED;
@ -456,7 +456,7 @@ index be532ec..d2eae8a 100644
return result; return result;
#else #else
@@ -1541,3 +1531,124 @@ void CDVDPlayerVideo::CalcFrameRate() @@ -1539,3 +1529,124 @@ void CDVDPlayerVideo::CalcFrameRate()
m_iFrameRateCount = 0; m_iFrameRateCount = 0;
} }
} }
@ -582,7 +582,7 @@ index be532ec..d2eae8a 100644
+ m_totalGain += frametime; + m_totalGain += frametime;
+} +}
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.h b/xbmc/cores/dvdplayer/DVDPlayerVideo.h 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 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.h
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.h +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.h
@@ -37,6 +37,24 @@ class CDVDOverlayCodecCC; @@ -37,6 +37,24 @@ class CDVDOverlayCodecCC;
@ -610,7 +610,7 @@ index 296cae6..4795ca0 100644
class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
{ {
public: 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_ABORT 1
#define EOS_DROPPED 2 #define EOS_DROPPED 2
#define EOS_VERYLATE 4 #define EOS_VERYLATE 4
@ -618,7 +618,7 @@ index 296cae6..4795ca0 100644
void AutoCrop(DVDVideoPicture* pPicture); void AutoCrop(DVDVideoPicture* pPicture);
void AutoCrop(DVDVideoPicture *pPicture, RECT &crop); 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_messageQueue;
CDVDMessageQueue& m_messageParent; CDVDMessageQueue& m_messageParent;
@ -626,7 +626,7 @@ index 296cae6..4795ca0 100644
double m_iVideoDelay; double m_iVideoDelay;
double m_iSubtitleDelay; double m_iSubtitleDelay;
double m_FlipTimeStamp; // time stamp of last flippage. used to play at a forced framerate 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 ResetFrameRateCalc();
void CalcFrameRate(); void CalcFrameRate();
@ -634,7 +634,7 @@ index 296cae6..4795ca0 100644
double m_fFrameRate; //framerate of the video currently playing double m_fFrameRate; //framerate of the video currently playing
bool m_bCalcFrameRate; //if we should calculate the framerate from the timestamps 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; CPullupCorrection m_pullupCorrection;
std::list<DVDMessageListItem> m_packets; std::list<DVDMessageListItem> m_packets;
@ -646,22 +646,22 @@ index 296cae6..4795ca0 100644
2.0.3 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> From: xbmc <fernetmenta@online.de>
Date: Sun, 2 Sep 2012 16:05:21 +0200 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) (after buffering in renderer)
--- ---
xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 16 ++++++++++++++++ xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 16 ++++++++++++++++
xbmc/cores/dvdplayer/DVDPlayerVideo.h | 2 +- xbmc/cores/dvdplayer/DVDPlayerVideo.h | 3 ++-
2 files changed, 17 insertions(+), 1 deletion(-) 2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 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 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/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; g_advancedSettings.m_videoFpsDetect == 0;
} }
@ -685,26 +685,27 @@ index d2eae8a..75c67a9 100644
#define MAXFRAMESERR 1000 #define MAXFRAMESERR 1000
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.h b/xbmc/cores/dvdplayer/DVDPlayerVideo.h 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 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.h
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.h +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.h
@@ -100,7 +100,7 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer @@ -97,7 +97,8 @@ class CDVDPlayerVideo : public CThread, public IDVDStreamPlayer
bool IsStalled() const { return m_stalled; }
bool InitializedOutputDevice(); bool IsEOS() { return false; }
- double GetCurrentPts() { return m_iCurrentPts; } - double GetCurrentPts() { return m_iCurrentPts; }
+ double GetCurrentPts(); + 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 */ double GetOutputDelay(); /* returns the expected delay, from that a packet is put in queue */
std::string GetPlayerInfo();
-- --
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 1 Jun 2013 11:21:19 +0200 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 +- xbmc/cores/VideoRenderers/BaseRenderer.h | 2 +-
@ -727,10 +728,10 @@ index fb41ccf..f5e5677 100644
2.0.3 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> From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:41:31 +0200 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 fps detection
--- ---
@ -738,7 +739,7 @@ Subject: [PATCH 04/29] videoplayer: update frametime, it might change due to
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 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 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -706,6 +706,8 @@ void CDVDPlayerVideo::Process() @@ -706,6 +706,8 @@ void CDVDPlayerVideo::Process()
@ -754,10 +755,10 @@ index 75c67a9..fb7ea06 100644
2.0.3 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> From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:43:06 +0200 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 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(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 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 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/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(); double frameduration = m_pullupCorrection.GetFrameDuration();
if (frameduration == DVD_NOPTS_VALUE || if (frameduration == DVD_NOPTS_VALUE ||
@ -781,10 +782,10 @@ index fb7ea06..af7a443 100644
2.0.3 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> From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:49:05 +0200 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 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(-) 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp 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 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
+++ b/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 else if (m_CurrentVideo.id >= 0
@ -804,7 +805,7 @@ index a2ac2c6..b3d7c3d 100644
&& m_SpeedState.lastpts != m_dvdPlayerVideo.GetCurrentPts() && m_SpeedState.lastpts != m_dvdPlayerVideo.GetCurrentPts()
&& m_SpeedState.lasttime != GetTime()) && m_SpeedState.lasttime != GetTime())
{ {
@@ -2208,6 +2208,12 @@ void CDVDPlayer::HandleMessages() @@ -2209,6 +2209,12 @@ void CDVDPlayer::HandleMessages()
pvrinputstream->Pause( speed == 0 ); pvrinputstream->Pause( speed == 0 );
} }
@ -821,10 +822,10 @@ index a2ac2c6..b3d7c3d 100644
2.0.3 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> From: xbmc <fernetmenta@online.de>
Date: Mon, 20 Aug 2012 16:06:39 +0200 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 ++++++++++++++++++++- .../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 197 ++++++++++++++++++++-
@ -1107,10 +1108,10 @@ index 08eb3df..dd89584 100644
2.0.3 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> From: xbmc <fernetmenta@online.de>
Date: Tue, 2 Oct 2012 13:02:10 +0200 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 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(-) 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 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 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/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 #ifdef HAS_VIDEO_PLAYBACK
double config_framerate = m_bFpsInvalid ? 0.0 : m_fFrameRate; double config_framerate = m_bFpsInvalid ? 0.0 : m_fFrameRate;
@ -1143,10 +1144,10 @@ index af7a443..cc6e88c 100644
2.0.3 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> From: xbmc <fernetmenta@online.de>
Date: Thu, 11 Oct 2012 12:05:50 +0200 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 ++++---- 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(-) 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 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 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+++ b/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) if (method == VS_INTERLACEMETHOD_AUTO)
{ {
int deint = -1; int deint = -1;
@ -1212,10 +1213,10 @@ index 7e50a63..980138e 100644
2.0.3 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> From: xbmc <fernetmenta@online.de>
Date: Fri, 2 Nov 2012 13:20:03 +0100 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 ++++- xbmc/cores/dvdplayer/DVDMessage.h | 5 ++++-
@ -1263,10 +1264,10 @@ index a365821..07366df 100644
class CDVDMsgPlayerSeekChapter : public CDVDMsg class CDVDMsgPlayerSeekChapter : public CDVDMsg
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp 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 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
+++ b/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 else if (m_CurrentVideo.id >= 0
&& (m_CurrentVideo.inited == true || GetPlaySpeed() < 0) // allow rewind at end of file && (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 // check how much off clock video is when ff/rw:ing
// a problem here is that seeking isn't very accurate // a problem here is that seeking isn't very accurate
// and since the clock will be resynced after seek // 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"); 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); 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 else
m_StateInput.dts = start; m_StateInput.dts = start;
@ -1299,7 +1300,7 @@ index b3d7c3d..a267559 100644
} }
else else
CLog::Log(LOGWARNING, "error while seeking"); CLog::Log(LOGWARNING, "error while seeking");
@@ -2193,9 +2195,10 @@ void CDVDPlayer::HandleMessages() @@ -2194,9 +2196,10 @@ void CDVDPlayer::HandleMessages()
double offset; double offset;
offset = CDVDClock::GetAbsoluteClock() - m_State.timestamp; offset = CDVDClock::GetAbsoluteClock() - m_State.timestamp;
offset *= m_playSpeed / DVD_PLAYSPEED_NORMAL; offset *= m_playSpeed / DVD_PLAYSPEED_NORMAL;
@ -1311,7 +1312,7 @@ index b3d7c3d..a267559 100644
m_State.timestamp = CDVDClock::GetAbsoluteClock(); 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 // do a seek after rewind, clock is not in sync with current pts
if (m_playSpeed < 0 && speed >= 0) 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 // 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; double startpts;
if(accurate) 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) if(startpts != DVD_NOPTS_VALUE)
startpts -= m_offset_pts; startpts -= m_offset_pts;
@ -1358,7 +1359,7 @@ index b3d7c3d..a267559 100644
m_CurrentTeletext.dts = DVD_NOPTS_VALUE; m_CurrentTeletext.dts = DVD_NOPTS_VALUE;
m_CurrentTeletext.startpts = startpts; 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; m_CurrentTeletext.started = false;
} }
@ -1368,10 +1369,10 @@ index b3d7c3d..a267559 100644
UpdatePlayState(0); UpdatePlayState(0);
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.h b/xbmc/cores/dvdplayer/DVDPlayer.h 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 --- a/xbmc/cores/dvdplayer/DVDPlayer.h
+++ b/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); bool GetCachingTimes(double& play_left, double& cache_left, double& file_offset);
@ -1380,7 +1381,7 @@ index 6d80975..1c26505 100644
void HandleMessages(); void HandleMessages();
void HandlePlaySpeed(); 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; int m_playSpeed;
struct SSpeedState struct SSpeedState
{ {
@ -1393,10 +1394,10 @@ index 6d80975..1c26505 100644
int m_errorCount; int m_errorCount;
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 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 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/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 ) if( m_stalled )
iRenderPts = DVD_NOPTS_VALUE; iRenderPts = DVD_NOPTS_VALUE;
@ -1405,7 +1406,7 @@ index cc6e88c..2059ab5 100644
iRenderPts = iRenderPts - max(0.0, iSleepTime); iRenderPts = iRenderPts - max(0.0, iSleepTime);
return iRenderPts; return iRenderPts;
@@ -1565,6 +1565,8 @@ int CDVDPlayerVideo::CalcDropRequirement(double pts) @@ -1563,6 +1563,8 @@ int CDVDPlayerVideo::CalcDropRequirement(double pts)
int iDroppedPics = -1; int iDroppedPics = -1;
int iBufferLevel; int iBufferLevel;
@ -1415,7 +1416,7 @@ index cc6e88c..2059ab5 100644
if (!m_pVideoCodec->GetCodecStats(iDecoderPts, iDroppedPics)) if (!m_pVideoCodec->GetCodecStats(iDecoderPts, iDroppedPics))
iDecoderPts = pts; iDecoderPts = pts;
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.h b/xbmc/cores/dvdplayer/DVDPlayerVideo.h 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 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.h
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.h +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.h
@@ -51,6 +51,7 @@ class CDroppingStats @@ -51,6 +51,7 @@ class CDroppingStats
@ -1430,20 +1431,20 @@ index b60a0ee..ecd2d20 100644
2.0.3 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> From: xbmc <fernetmenta@online.de>
Date: Thu, 28 Mar 2013 15:18:53 +0100 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 ++- xbmc/cores/omxplayer/OMXPlayer.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-) 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp 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 --- a/xbmc/cores/omxplayer/OMXPlayer.cpp
+++ b/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_messenger.Put(new CDVDMsgPlayerSeek(GetTime(), (speed < 0), true, false, false, true));
m_playSpeed = speed; m_playSpeed = speed;
@ -1457,20 +1458,20 @@ index b135741..8965fe2 100644
2.0.3 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> From: xbmc <fernetmenta@online.de>
Date: Thu, 28 Mar 2013 20:50:59 +0100 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 ++- xbmc/Application.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-) 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
index 397bfa4..fda7929 100644 index 57ea71b..29672b1 100644
--- a/xbmc/Application.cpp --- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp +++ b/xbmc/Application.cpp
@@ -2336,10 +2336,11 @@ void CApplication::Render() @@ -2325,10 +2325,11 @@ void CApplication::Render()
if (frameTime < singleFrameTime) if (frameTime < singleFrameTime)
Sleep(singleFrameTime - frameTime); Sleep(singleFrameTime - frameTime);
} }
@ -1487,10 +1488,10 @@ index 397bfa4..fda7929 100644
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Thu, 25 Jul 2013 17:18:13 +0200 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 ++-- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 4 ++--
@ -1515,10 +1516,10 @@ index fe5e893..c98c73b 100644
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Sun, 4 Aug 2013 10:11:16 +0200 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" later"
This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf. This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf.
@ -1527,10 +1528,10 @@ This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf.
1 file changed, 4 insertions(+), 8 deletions(-) 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 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 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+++ b/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_bufferStats.IncDecoded();
m_vdpauOutput.m_dataPort.SendOutMessage(COutputDataProtocol::NEWFRAME, &pic, sizeof(pic)); m_vdpauOutput.m_dataPort.SendOutMessage(COutputDataProtocol::NEWFRAME, &pic, sizeof(pic));
@ -1540,7 +1541,7 @@ index 345c442..6d2e564 100644
} }
int retval = 0; int retval = 0;
@@ -2294,8 +2293,7 @@ void CMixer::InitCycle() @@ -2282,8 +2281,7 @@ void CMixer::InitCycle()
int flags; int flags;
uint64_t latency; uint64_t latency;
m_config.stats->GetParams(latency, flags); m_config.stats->GetParams(latency, flags);
@ -1550,7 +1551,7 @@ index 345c442..6d2e564 100644
SetPostProcFeatures(false); SetPostProcFeatures(false);
else else
SetPostProcFeatures(true); 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; bool interlaced = m_mixerInput[1].DVDPic.iFlags & DVP_FLAG_INTERLACED;
m_SeenInterlaceFlag |= interlaced; m_SeenInterlaceFlag |= interlaced;
@ -1560,7 +1561,7 @@ index 345c442..6d2e564 100644
(mode == VS_DEINTERLACEMODE_FORCE || (mode == VS_DEINTERLACEMODE_FORCE ||
(mode == VS_DEINTERLACEMODE_AUTO && interlaced))) (mode == VS_DEINTERLACEMODE_AUTO && interlaced)))
{ {
@@ -2330,8 +2327,7 @@ void CMixer::InitCycle() @@ -2318,8 +2315,7 @@ void CMixer::InitCycle()
m_config.stats->SetCanSkipDeint(true); m_config.stats->SetCanSkipDeint(true);
} }
@ -1574,10 +1575,10 @@ index 345c442..6d2e564 100644
2.0.3 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> From: Marcel Groothuis <margro.xbmc@gmail.com>
Date: Thu, 5 Dec 2013 22:02:50 +0100 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) without internal demuxing (such as MediaPortal, ArgusTV, MythTV, NextPVR)
Credits: FernetMenta, Davilla, Popcornmix, Whaupt Credits: FernetMenta, Davilla, Popcornmix, Whaupt
@ -1937,10 +1938,10 @@ index ca689d0..f383563 100644
2.0.3 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> From: Wolfgang Haupt <w.haupt@at-visions.com>
Date: Thu, 5 Dec 2013 22:11:57 +0100 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 pvr-channels
--- ---
@ -2064,10 +2065,10 @@ index 667f6d3..0094709 100644
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Sun, 22 Dec 2013 14:52:29 +0100 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 ++- Makefile.in | 8 ++-
@ -2108,10 +2109,10 @@ index 433d5ba..1dd97ee 100644
externals: codecs libs visualizations screensavers libaddon pvraddons externals: codecs libs visualizations screensavers libaddon pvraddons
diff --git a/configure.in b/configure.in diff --git a/configure.in b/configure.in
index a9d5f46..c6f7cf1 100644 index fb6ab20..3f3b061 100644
--- a/configure.in --- a/configure.in
+++ b/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
fi fi
@ -2131,7 +2132,7 @@ index a9d5f46..c6f7cf1 100644
# Checks for library functions. # Checks for library functions.
AC_FUNC_ALLOCA AC_FUNC_ALLOCA
AC_FUNC_CHOWN 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" OUTPUT_FILES="$OUTPUT_FILES xbmc/cores/dvdplayer/DVDCodecs/Video/libstagefrightICS/Makefile"
fi fi
@ -2142,7 +2143,7 @@ index a9d5f46..c6f7cf1 100644
OUTPUT_FILES="$OUTPUT_FILES \ OUTPUT_FILES="$OUTPUT_FILES \
xbmc/interfaces/python/Makefile \ xbmc/interfaces/python/Makefile \
xbmc/interfaces/python/test/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_DOXYGEN)
AC_SUBST(USE_PVR_ADDONS) AC_SUBST(USE_PVR_ADDONS)
AC_SUBST(UPNP_DEFINES) 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 # pushd and popd are not available in other shells besides bash, so implement
# our own pushd/popd functions # our own pushd/popd functions
diff --git a/xbmc/DllPaths_generated.h.in b/xbmc/DllPaths_generated.h.in 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 --- a/xbmc/DllPaths_generated.h.in
+++ b/xbmc/DllPaths_generated.h.in +++ b/xbmc/DllPaths_generated.h.in
@@ -90,4 +90,7 @@ @@ -83,4 +83,7 @@
/* xkbcommon */ /* xkbcommon */
#define DLL_PATH_XKBCOMMON "@XKBCOMMON_LIBRARY_SONAME@" #define DLL_PATH_XKBCOMMON "@XKBCOMMON_LIBRARY_SONAME@"
@ -2362,10 +2363,10 @@ index 0000000..45aa826
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Tue, 28 Jan 2014 10:05:26 +0100 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 ++++++++ xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 8 ++++++++
@ -2394,10 +2395,10 @@ index 6920db2..d72e256 100644
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Tue, 11 Feb 2014 18:15:06 +0100 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 ++++++ xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp | 6 ++++++
@ -2425,10 +2426,10 @@ index ec10397..3b67fc0 100644
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Fri, 13 Jun 2014 14:37:16 +0200 Date: Fri, 13 Jun 2014 14:37:16 +0200
Subject: [PATCH 20/29] vaapi - postprocessing Subject: [PATCH 20/28] vaapi - postprocessing
--- ---
configure.in | 16 +- configure.in | 16 +-
@ -2449,10 +2450,10 @@ Subject: [PATCH 20/29] vaapi - postprocessing
15 files changed, 3466 insertions(+), 674 deletions(-) 15 files changed, 3466 insertions(+), 674 deletions(-)
diff --git a/configure.in b/configure.in diff --git a/configure.in b/configure.in
index c6f7cf1..9e35f52 100644 index 3f3b061..5db7181 100644
--- a/configure.in --- a/configure.in
+++ b/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 USE_VAAPI=0
else else
initial_val=$use_vaapi initial_val=$use_vaapi
@ -2480,10 +2481,10 @@ index c6f7cf1..9e35f52 100644
fi fi
else else
diff --git a/language/English/strings.po b/language/English/strings.po 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 --- a/language/English/strings.po
+++ b/language/English/strings.po +++ b/language/English/strings.po
@@ -6189,7 +6189,13 @@ msgctxt "#13456" @@ -6184,7 +6184,13 @@ msgctxt "#13456"
msgid "Hardware accelerated" msgid "Hardware accelerated"
msgstr "" msgstr ""
@ -2498,7 +2499,7 @@ index dc494c1..a55ede5 100755
#: system/settings/settings.xml #: system/settings/settings.xml
msgctxt "#13500" msgctxt "#13500"
@@ -7353,7 +7359,22 @@ msgctxt "#16326" @@ -7350,7 +7356,22 @@ msgctxt "#16326"
msgid "DXVA-HD" msgid "DXVA-HD"
msgstr "" msgstr ""
@ -2522,7 +2523,7 @@ index dc494c1..a55ede5 100755
#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp #: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
msgctxt "#16400" 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." msgid "Defines whether video decoding should be performed in software (requires more CPU) or with hardware acceleration where possible."
msgstr "" msgstr ""
@ -2539,7 +2540,7 @@ index dc494c1..a55ede5 100755
#: system/settings/settings.xml #: system/settings/settings.xml
diff --git a/system/settings/settings.xml b/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 --- a/system/settings/settings.xml
+++ b/system/settings/settings.xml +++ b/system/settings/settings.xml
@@ -715,6 +715,21 @@ @@ -715,6 +715,21 @@
@ -2565,7 +2566,7 @@ index cc331b7..ce9cb61 100644
<requirement>HasDXVA2</requirement> <requirement>HasDXVA2</requirement>
<dependencies> <dependencies>
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp 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 --- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp +++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
@@ -62,13 +62,6 @@ extern "C" { @@ -62,13 +62,6 @@ extern "C" {
@ -2777,7 +2778,7 @@ index 73eb193..56b114e 100644
void CLinuxRendererGL::RenderSoftware(int index, int field) void CLinuxRendererGL::RenderSoftware(int index, int field)
{ {
// used for textues uploaded from rgba or CVPixelBuffers. // 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) void CLinuxRendererGL::DeleteVAAPITexture(int index)
{ {
#ifdef HAVE_LIBVA #ifdef HAVE_LIBVA
@ -2797,7 +2798,7 @@ index 73eb193..56b114e 100644
#endif #endif
} }
@@ -2654,83 +2554,44 @@ bool CLinuxRendererGL::CreateVAAPITexture(int index) @@ -2653,83 +2553,44 @@ bool CLinuxRendererGL::CreateVAAPITexture(int index)
bool CLinuxRendererGL::UploadVAAPITexture(int index) bool CLinuxRendererGL::UploadVAAPITexture(int index)
{ {
#ifdef HAVE_LIBVA #ifdef HAVE_LIBVA
@ -2908,7 +2909,7 @@ index 73eb193..56b114e 100644
#endif #endif
return true; return true;
} }
@@ -3528,21 +3389,13 @@ bool CLinuxRendererGL::Supports(EINTERLACEMETHOD method) @@ -3527,21 +3388,13 @@ bool CLinuxRendererGL::Supports(EINTERLACEMETHOD method)
return false; return false;
} }
@ -2935,7 +2936,7 @@ index 73eb193..56b114e 100644
#endif #endif
return false; return false;
} }
@@ -3663,6 +3516,7 @@ unsigned int CLinuxRendererGL::GetProcessorSize() @@ -3662,6 +3515,7 @@ unsigned int CLinuxRendererGL::GetProcessorSize()
if(m_format == RENDER_FMT_VDPAU if(m_format == RENDER_FMT_VDPAU
|| m_format == RENDER_FMT_VDPAU_420 || m_format == RENDER_FMT_VDPAU_420
|| m_format == RENDER_FMT_VAAPI || m_format == RENDER_FMT_VAAPI
@ -2943,7 +2944,7 @@ index 73eb193..56b114e 100644
|| m_format == RENDER_FMT_CVBREF) || m_format == RENDER_FMT_CVBREF)
return 1; return 1;
else 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 #endif
#ifdef HAVE_LIBVA #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 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 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/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_VDPAU_420: return "VDPAU_420";
case RENDER_FMT_DXVA: return "DXVA"; case RENDER_FMT_DXVA: return "DXVA";
case RENDER_FMT_VAAPI: return "VAAPI"; case RENDER_FMT_VAAPI: return "VAAPI";
@ -7161,10 +7162,10 @@ index 760eda5..965f297 100644
2.0.3 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> From: fritsch <Peter.Fruehberger@gmail.com>
Date: Sun, 29 Jun 2014 14:45:28 +0200 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 to vaapi render
--- ---
@ -7245,10 +7246,10 @@ index 93be338..4e1b136 100644
2.0.3 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> From: fritsch <Peter.Fruehberger@gmail.com>
Date: Sun, 29 Jun 2014 16:21:44 +0200 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 +-- xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 3 +--
@ -7272,10 +7273,10 @@ index 4e1b136..92b2f97 100644
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Fri, 18 Jul 2014 10:39:07 +0200 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 ++- xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 3 ++-
@ -7299,10 +7300,10 @@ index c01bc11..d38bfab 100644
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Mon, 21 Jul 2014 08:53:07 +0200 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 + xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 1 +
@ -7324,10 +7325,10 @@ index 92b2f97..671e8a5 100644
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Tue, 22 Jul 2014 15:36:31 +0200 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 stream from audio player, ffmpeg demuxer does not update this info for codecs
like AAC 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(-) 3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp 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 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
+++ b/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; return;
if (index == GetAudioStream()) if (index == GetAudioStream())
@ -7360,7 +7361,7 @@ index a267559..a7b23e5 100644
} }
SelectionStream& s = m_SelectionStreams.Get(STREAM_AUDIO, index); 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)); CDemuxStreamAudio* stream = static_cast<CDemuxStreamAudio*>(m_pDemuxer->GetStreamFromAudioId(index));
if (stream) if (stream)
{ {
@ -7394,10 +7395,10 @@ index e4c6089..120cdde 100644
{ {
CSingleLock lock(m_info_section); CSingleLock lock(m_info_section);
diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.h b/xbmc/cores/dvdplayer/DVDPlayerAudio.h 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 --- a/xbmc/cores/dvdplayer/DVDPlayerAudio.h
+++ b/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(); std::string GetPlayerInfo();
int GetAudioBitrate(); int GetAudioBitrate();
@ -7409,10 +7410,10 @@ index 2a1b564..ec9570a 100644
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Wed, 23 Jul 2014 15:07:37 +0200 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 not seen on open
--- ---
@ -7442,10 +7443,10 @@ index d38bfab..e388ecf 100644
2.0.3 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> From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 26 Jul 2014 09:54:06 +0200 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) max_analyze_duration)
--- ---
@ -7469,10 +7470,10 @@ index e388ecf..a8e1f7a 100644
2.0.3 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> From: fritsch <peter.fruehberger@gmail.com>
Date: Sun, 3 Aug 2014 17:18:08 +0200 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 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> 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 Subject: [PATCH] service addons: use a wrapper to setup systemd
--- ---
xbmc/addons/AddonDatabase.cpp | 3 +++ xbmc/addons/Service.cpp | 12 ++++++++++++
xbmc/addons/AddonInstaller.cpp | 10 ++++++++++ xbmc/addons/Service.h | 3 +++
xbmc/addons/AddonInstaller.h | 2 ++ 2 files changed, 15 insertions(+)
3 files changed, 15 insertions(+)
diff --git a/xbmc/addons/AddonDatabase.cpp b/xbmc/addons/AddonDatabase.cpp diff --git a/xbmc/addons/Service.cpp b/xbmc/addons/Service.cpp
index 51a8da8..deedb04 100644 index c406b11..c23b18a 100644
--- a/xbmc/addons/AddonDatabase.cpp --- a/xbmc/addons/Service.cpp
+++ b/xbmc/addons/AddonDatabase.cpp +++ b/xbmc/addons/Service.cpp
@@ -20,6 +20,7 @@ @@ -53,6 +53,9 @@ AddonPtr CService::Clone() const
bool CService::Start()
#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); bool ret = true;
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(addon); +
if (service) + CallOEWrapper(ID(), false);
service->Start(); +
diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp switch (m_type)
index b410d6c..d33f8a6 100644 {
--- a/xbmc/addons/AddonInstaller.cpp #ifdef HAS_PYTHON
+++ b/xbmc/addons/AddonInstaller.cpp @@ -88,6 +91,8 @@ bool CService::Stop()
@@ -70,6 +70,13 @@ CAddonInstaller &CAddonInstaller::Get() break;
return addonInstaller;
} }
+void CAddonInstaller::CallOEWrapper(const std::string& ID, bool disable) + CallOEWrapper(ID(), true);
+
return ret;
}
@@ -113,6 +118,13 @@ void CService::BuildServiceType()
}
}
+void CService::CallOEWrapper(const std::string& ID, bool disable)
+{ +{
+ char cmd[255]; + char cmd[255];
+ snprintf(cmd, sizeof(cmd), "/usr/lib/openelec/systemd-addon-wrapper %s %d", ID.c_str(), disable); + snprintf(cmd, sizeof(cmd), "/usr/lib/openelec/systemd-addon-wrapper %s %d", ID.c_str(), disable);
+ system(cmd); + system(cmd);
+} +}
+ +
void CAddonInstaller::OnJobComplete(unsigned int jobID, bool success, CJob* job) void CService::OnDisabled()
{ {
if (success) Stop();
@@ -644,6 +651,7 @@ bool CAddonInstallJob::OnPreInstall() diff --git a/xbmc/addons/Service.h b/xbmc/addons/Service.h
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(localAddon); index 98ec8b6..36e4109 100644
if (service) --- a/xbmc/addons/Service.h
service->Stop(); +++ b/xbmc/addons/Service.h
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), true); @@ -47,6 +47,9 @@ namespace ADDON
} bool Stop();
return !CAddonMgr::Get().IsAddonDisabled(m_addon->ID()); TYPE GetServiceType() { return m_type; }
} START_OPTION GetStartOption() { return m_startOption; }
@@ -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); + void CallOEWrapper(const std::string& ID, bool disable);
+ +
bool IsDownloading() const; virtual void OnDisabled();
void GetInstallList(ADDON::VECADDONS &addons) const; virtual void OnEnabled();
bool GetProgress(const std::string &addonID, unsigned int &percent) const; virtual bool OnPreInstall();
-- --
1.9.1 1.9.1