diff --git a/packages/mediacenter/xbmc-theme-Confluence/package.mk b/packages/mediacenter/xbmc-theme-Confluence/package.mk index 02fa39a18e..f42cedd521 100644 --- a/packages/mediacenter/xbmc-theme-Confluence/package.mk +++ b/packages/mediacenter/xbmc-theme-Confluence/package.mk @@ -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" diff --git a/packages/mediacenter/xbmc/package.mk b/packages/mediacenter/xbmc/package.mk index 3fac924f49..bd2617f8a2 100644 --- a/packages/mediacenter/xbmc/package.mk +++ b/packages/mediacenter/xbmc/package.mk @@ -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 \ diff --git a/packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta.patch b/packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta.patch index 1eeb39d4b2..7f203fbc40 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta.patch @@ -1,7 +1,7 @@ -From 1a5f6373ff6b5c9b102978ae23bb3015e09c2ca6 Mon Sep 17 00:00:00 2001 +From 534a3eb63331fd509b17bd5c503a8068de40af5b Mon Sep 17 00:00:00 2001 From: xbmc 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 HasDXVA2 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 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 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 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 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 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(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 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 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 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 --- diff --git a/packages/mediacenter/xbmc/patches/xbmc-999.00-service-addons-use-a-wrapper-to-setup-systemd.patch b/packages/mediacenter/xbmc/patches/xbmc-999.00-service-addons-use-a-wrapper-to-setup-systemd.patch index 56482ca621..2997093c8f 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-999.00-service-addons-use-a-wrapper-to-setup-systemd.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-999.00-service-addons-use-a-wrapper-to-setup-systemd.patch @@ -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 -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 service = boost::dynamic_pointer_cast(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 service = boost::dynamic_pointer_cast(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 service = boost::dynamic_pointer_cast(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 service = boost::dynamic_pointer_cast(localAddon); -+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), false); - if (service) - service->Start(); - } -@@ -840,6 +849,7 @@ bool CAddonUnInstallJob::DoWork() - boost::shared_ptr service = boost::dynamic_pointer_cast(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