diff --git a/packages/mediacenter/xbmc-theme-Confluence/package.mk b/packages/mediacenter/xbmc-theme-Confluence/package.mk index 6d47a9ea8c..44e2696015 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-f78c550" +PKG_VERSION="14-68ef36a" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/mediacenter/xbmc/package.mk b/packages/mediacenter/xbmc/package.mk index 2d8a5ad97d..ea984c5e4b 100644 --- a/packages/mediacenter/xbmc/package.mk +++ b/packages/mediacenter/xbmc/package.mk @@ -17,7 +17,7 @@ ################################################################################ PKG_NAME="xbmc" -PKG_VERSION="14-f78c550" +PKG_VERSION="14-68ef36a" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta.patch b/packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta.patch index 1a297f3f60..9e06285b3d 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 092b9619c6f3aedac2024ca29942858001d94986 Mon Sep 17 00:00:00 2001 +From 03694dfeabfb6b2adf39da60cfe17a1a0730545f Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:34:39 +0200 -Subject: [PATCH 01/25] videoplayer: adapt lateness detection and dropping to +Subject: [PATCH 01/23] videoplayer: adapt lateness detection and dropping to buffering --- @@ -643,10 +643,10 @@ index dcd0ffd..1f0e661 100644 }; -From e0f4ed15d18123032440a02a8a143cca031f1eb1 Mon Sep 17 00:00:00 2001 +From 5f1691db1564313de3571f88309f6284179fadaa Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 2 Sep 2012 16:05:21 +0200 -Subject: [PATCH 02/25] video player: present correct pts to user for a/v sync +Subject: [PATCH 02/23] video player: present correct pts to user for a/v sync (after buffering in renderer) --- @@ -695,10 +695,10 @@ index 1f0e661..a38a9c3 100644 double GetOutputDelay(); /* returns the expected delay, from that a packet is put in queue */ int GetDecoderFreeSpace() { return 0; } -From 8f1e52d07ddc356ee756f970bc8a045e068c2187 Mon Sep 17 00:00:00 2001 +From ab605fce4c73eacb58470d379069b0d1139d782b Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 1 Jun 2013 11:21:19 +0200 -Subject: [PATCH 03/25] renderer: bump buffers to 5 +Subject: [PATCH 03/23] renderer: bump buffers to 5 --- xbmc/cores/VideoRenderers/BaseRenderer.h | 2 +- @@ -718,10 +718,10 @@ index fb41ccf..f5e5677 100644 class CSetting; -From 94fc6f131a36e63d60bbd6f51132fac63aa83701 Mon Sep 17 00:00:00 2001 +From 7dc1d09abdeb315734a8176d5be6c02040cde9f3 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:41:31 +0200 -Subject: [PATCH 04/25] videoplayer: update frametime, it might change due to +Subject: [PATCH 04/23] videoplayer: update frametime, it might change due to fps detection --- @@ -742,10 +742,10 @@ index 3bfa7f1..a41ed47 100644 { m_codecname = m_pVideoCodec->GetName(); -From 553eae9fb95cc67a83e15863cf03196af9fd6a85 Mon Sep 17 00:00:00 2001 +From 61e121a808a5f79407b5390a0651a39c85dae0e2 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:43:06 +0200 -Subject: [PATCH 05/25] videoplayer: give streams with invalid fps a chance for +Subject: [PATCH 05/23] videoplayer: give streams with invalid fps a chance for fps detection --- @@ -766,10 +766,10 @@ index a41ed47..05f5d44 100644 //reset the stored framerates if no good framerate was detected m_fStableFrameRate = 0.0; -From 58c553159ac43ab916f4f34f812f51b4a6780c80 Mon Sep 17 00:00:00 2001 +From 378f95b292e2abfec55d2c1f43f805ac5bf51f4c Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:49:05 +0200 -Subject: [PATCH 06/25] dvdplayer: allow rewinding at end of stream, do a seek +Subject: [PATCH 06/23] dvdplayer: allow rewinding at end of stream, do a seek after rewind --- @@ -777,10 +777,10 @@ Subject: [PATCH 06/25] 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 8f41c76..b99c8a2 100644 +index e85c989..01389fb 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp -@@ -1789,7 +1789,7 @@ void CDVDPlayer::HandlePlaySpeed() +@@ -1793,7 +1793,7 @@ void CDVDPlayer::HandlePlaySpeed() } else if (m_CurrentVideo.id >= 0 @@ -789,7 +789,7 @@ index 8f41c76..b99c8a2 100644 && m_SpeedState.lastpts != m_dvdPlayerVideo->GetCurrentPts() && m_SpeedState.lasttime != GetTime()) { -@@ -2430,6 +2430,12 @@ void CDVDPlayer::HandleMessages() +@@ -2434,6 +2434,12 @@ void CDVDPlayer::HandleMessages() pvrinputstream->Pause( speed == 0 ); } @@ -803,10 +803,10 @@ index 8f41c76..b99c8a2 100644 // audioplayer, stops outputing audio to audiorendere, but still tries to // sleep an correct amount for each packet -From 9d66fa3dcd22ec78a050626fb49f14928b31ef11 Mon Sep 17 00:00:00 2001 +From ea78242a598dacfbbdf3a1bb9a4c7b462ae84179 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 20 Aug 2012 16:06:39 +0200 -Subject: [PATCH 07/25] dvdplayer: observe pts counter overflow +Subject: [PATCH 07/23] dvdplayer: observe pts counter overflow --- .../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 197 ++++++++++++++++++++- @@ -1086,10 +1086,10 @@ index 08eb3df..dd89584 100644 }; -From 30f899c40ae2eb85efe59682e89520d7bbc7a6de Mon Sep 17 00:00:00 2001 +From 2dbc55b2aba4648894a5ca3b90506f6b9eea38f3 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 2 Oct 2012 13:02:10 +0200 -Subject: [PATCH 08/25] dvdplayer: avoid short screen flicker caused by +Subject: [PATCH 08/23] dvdplayer: avoid short screen flicker caused by unnecessary reconfigure of renderer --- @@ -1119,10 +1119,10 @@ index 05f5d44..5d84cd0 100644 || ( m_output.extended_format != pPicture->extended_format ) || ( m_output.color_matrix != pPicture->color_matrix && pPicture->color_matrix != 0 ) // don't reconfigure on unspecified -From 8908d00510b2a85ea24486437e8b134caf398040 Mon Sep 17 00:00:00 2001 +From f2a14ca102f5723b411a68f14976a1c144c2e84b Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 11 Oct 2012 12:05:50 +0200 -Subject: [PATCH 09/25] vdpau: advanced settings for auto deinterlacing +Subject: [PATCH 09/23] vdpau: advanced settings for auto deinterlacing --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 8 ++++---- @@ -1185,10 +1185,10 @@ index 7e50a63..980138e 100644 bool m_videoVDPAUdeintSkipChromaHD; bool m_musicUseTimeSeeking; -From 88754cb9ed0d7a5c015b9a1a38079104db882d50 Mon Sep 17 00:00:00 2001 +From 835cae2abf126f601dec7fb420291ae1190ea606 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 2 Nov 2012 13:20:03 +0100 -Subject: [PATCH 10/25] player: fix rewind +Subject: [PATCH 10/23] player: fix rewind --- xbmc/cores/dvdplayer/DVDMessage.h | 5 ++++- @@ -1236,10 +1236,10 @@ index a365821..07366df 100644 class CDVDMsgPlayerSeekChapter : public CDVDMsg diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index b99c8a2..eb7bae6 100644 +index 01389fb..cd88e9a 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp -@@ -1790,11 +1790,13 @@ void CDVDPlayer::HandlePlaySpeed() +@@ -1794,11 +1794,13 @@ void CDVDPlayer::HandlePlaySpeed() } else if (m_CurrentVideo.id >= 0 && (m_CurrentVideo.inited == true || GetPlaySpeed() < 0) // allow rewind at end of file @@ -1254,7 +1254,7 @@ index b99c8a2..eb7bae6 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 -@@ -1813,7 +1815,7 @@ void CDVDPlayer::HandlePlaySpeed() +@@ -1817,7 +1819,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); @@ -1263,7 +1263,7 @@ index b99c8a2..eb7bae6 100644 } } } -@@ -2279,7 +2281,7 @@ void CDVDPlayer::HandleMessages() +@@ -2283,7 +2285,7 @@ void CDVDPlayer::HandleMessages() else m_StateInput.dts = start; @@ -1272,7 +1272,7 @@ index b99c8a2..eb7bae6 100644 } else CLog::Log(LOGWARNING, "error while seeking"); -@@ -2415,9 +2417,10 @@ void CDVDPlayer::HandleMessages() +@@ -2419,9 +2421,10 @@ void CDVDPlayer::HandleMessages() double offset; offset = CDVDClock::GetAbsoluteClock() - m_State.timestamp; offset *= m_playSpeed / DVD_PLAYSPEED_NORMAL; @@ -1284,7 +1284,7 @@ index b99c8a2..eb7bae6 100644 m_State.timestamp = CDVDClock::GetAbsoluteClock(); } -@@ -2433,7 +2436,8 @@ void CDVDPlayer::HandleMessages() +@@ -2437,7 +2440,8 @@ void CDVDPlayer::HandleMessages() // do a seek after rewind, clock is not in sync with current pts if (m_playSpeed < 0 && speed >= 0) { @@ -1294,7 +1294,7 @@ index b99c8a2..eb7bae6 100644 } // if playspeed is different then DVD_PLAYSPEED_NORMAL or DVD_PLAYSPEED_PAUSE -@@ -3403,7 +3407,7 @@ void CDVDPlayer::UpdateClockMaster() +@@ -3407,7 +3411,7 @@ void CDVDPlayer::UpdateClockMaster() } } @@ -1303,7 +1303,7 @@ index b99c8a2..eb7bae6 100644 { double startpts; if(accurate) -@@ -3415,19 +3419,23 @@ void CDVDPlayer::FlushBuffers(bool queued, double pts, bool accurate) +@@ -3419,19 +3423,23 @@ void CDVDPlayer::FlushBuffers(bool queued, double pts, bool accurate) if(startpts != DVD_NOPTS_VALUE) startpts -= m_offset_pts; @@ -1331,7 +1331,7 @@ index b99c8a2..eb7bae6 100644 m_CurrentTeletext.dts = DVD_NOPTS_VALUE; m_CurrentTeletext.startpts = startpts; -@@ -3471,7 +3479,7 @@ void CDVDPlayer::FlushBuffers(bool queued, double pts, bool accurate) +@@ -3475,7 +3483,7 @@ void CDVDPlayer::FlushBuffers(bool queued, double pts, bool accurate) m_CurrentTeletext.started = false; } @@ -1400,10 +1400,10 @@ index a38a9c3..4e1b3d6 100644 unsigned int m_dropRequests; }; -From eb3a088fb09e6c47335fec6fe82cd3ca86a5b590 Mon Sep 17 00:00:00 2001 +From f43e0ee1336efdd19589ec23d34a18b30c3719e4 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 28 Mar 2013 20:50:59 +0100 -Subject: [PATCH 11/25] fix incorrect display of fps when dr kicks in +Subject: [PATCH 11/23] fix incorrect display of fps when dr kicks in --- xbmc/Application.cpp | 3 ++- @@ -1427,10 +1427,10 @@ index 94ee013..851a380 100644 g_renderManager.UpdateResolution(); -From d553ef305bd1d3f917484be397c74cb122be1073 Mon Sep 17 00:00:00 2001 +From 07336ed8a97584833123d45194243315dbc4c316 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 25 Jul 2013 17:18:13 +0200 -Subject: [PATCH 12/25] ActiveAE: slightly reduce buffer size +Subject: [PATCH 12/23] ActiveAE: slightly reduce buffer size --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 4 ++-- @@ -1452,10 +1452,10 @@ index fe5e893..c98c73b 100644 void CEngineStats::Reset(unsigned int sampleRate) -From a26c638dece28a56be02ed154d9c2b7a5c3dc58e Mon Sep 17 00:00:00 2001 +From e45f740bd3bf86b754012a2fcc558451c2ac752d Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sun, 4 Aug 2013 10:11:16 +0200 -Subject: [PATCH 13/25] Revert "vdpau: comment some features that will be added +Subject: [PATCH 13/23] Revert "vdpau: comment some features that will be added later" This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf. @@ -1508,10 +1508,10 @@ index 1845198..2bfea1a 100644 m_mixersteps = 1; } -From f5dc3c5adcb54947ea273a7142adaf47f559b6bb Mon Sep 17 00:00:00 2001 +From b45ee9a9efc0fe5050454afb0d20fd6b96d7d46b Mon Sep 17 00:00:00 2001 From: Marcel Groothuis Date: Thu, 5 Dec 2013 22:02:50 +0100 -Subject: [PATCH 14/25] ffmpeg demuxer: faster channel change for PVR addons +Subject: [PATCH 14/23] ffmpeg demuxer: faster channel change for PVR addons without internal demuxing (such as MediaPortal, ArgusTV, MythTV, NextPVR) Credits: FernetMenta, Davilla, Popcornmix, Whaupt @@ -1868,10 +1868,10 @@ index ca689d0..f383563 100644 else return NULL; -From 3a27b9e30fb0dfd8cf8076335f9bc417544b632a Mon Sep 17 00:00:00 2001 +From 74d5e2e408e2d6a0544265ec336f362bbcb12a5f Mon Sep 17 00:00:00 2001 From: Wolfgang Haupt Date: Thu, 5 Dec 2013 22:11:57 +0100 -Subject: [PATCH 15/25] DVDFactoryDemuxer: skip streaminfo for udp tcp and +Subject: [PATCH 15/23] DVDFactoryDemuxer: skip streaminfo for udp tcp and pvr-channels --- @@ -1992,10 +1992,10 @@ index 667f6d3..0094709 100644 static void AddSlashAtEnd(std::string& strFolder); static bool HasSlashAtEnd(const std::string& strFile, bool checkURL = false); -From a9c2f9a35bd3bd16a54cc6ecb1f322bf62e3d5bd Mon Sep 17 00:00:00 2001 +From 5a7d7f02e6a8e60480804407a0f588e633a37fa6 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 18 Jul 2014 10:39:07 +0200 -Subject: [PATCH 16/25] fast channel switch, make sure extradata is decoded +Subject: [PATCH 16/23] fast channel switch, make sure extradata is decoded --- xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 3 ++- @@ -2016,10 +2016,10 @@ index c01bc11..d38bfab 100644 // We are looking for an IDR frame -From 4cee56c346f12526021cd48140901c97b76fc2e7 Mon Sep 17 00:00:00 2001 +From befaa2bc0573d558ac90bbc963a895422cd1e8a2 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Wed, 23 Jul 2014 15:07:37 +0200 -Subject: [PATCH 17/25] ffmpeg demuxer: allow a stream change if pat/pmt was +Subject: [PATCH 17/23] ffmpeg demuxer: allow a stream change if pat/pmt was not seen on open --- @@ -2079,10 +2079,10 @@ index d38bfab..2332b1b 100644 { for (unsigned int i = 0; i < m_pFormatContext->programs[m_program]->nb_stream_indexes; i++) -From ce2fdeb7e1f734e58c74805efc180ecb950090ba Mon Sep 17 00:00:00 2001 +From 4558aaf44245f7ebc9f1b51b218c5ba46f2cccd9 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 28 Jan 2014 10:05:26 +0100 -Subject: [PATCH 18/25] xbmc pr 3080 +Subject: [PATCH 18/23] xbmc pr 3080 --- xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 8 ++++++++ @@ -2108,10 +2108,10 @@ index 2481b66..40816e3 100644 * Setting it correctly would allow CorePNG decoding. */ avpkt.flags = AV_PKT_FLAG_KEY; -From cdff6da02f005a718e57dfc235bdd61bb9f2c0d5 Mon Sep 17 00:00:00 2001 +From b658d8d670bcb58700e6ec89bbcf9d380e476494 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 11 Feb 2014 18:15:06 +0100 -Subject: [PATCH 19/25] ActiveAE: add some debug logging +Subject: [PATCH 19/23] ActiveAE: add some debug logging --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp | 6 ++++++ @@ -2136,10 +2136,10 @@ index ec10397..3b67fc0 100644 return copied; } -From 5672f89f47a3a8ff31c2aa00bc609e0d090c7cd3 Mon Sep 17 00:00:00 2001 +From 4b73893f39f8f5b0bb1f7f23147967ea643fb0c8 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 26 Jul 2014 09:54:06 +0200 -Subject: [PATCH 20/25] ffmpeg: adapt depreciated attribute +Subject: [PATCH 20/23] ffmpeg: adapt depreciated attribute max_analyze_duration --- @@ -2160,10 +2160,10 @@ index 2332b1b..edaa006 100644 isMpegts = true; } -From 834df1c3785d6163f3bd3380fac87f415ec54976 Mon Sep 17 00:00:00 2001 +From f31a511ad65fb1b34df9a295ebaf560f48c3d728 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 23 Aug 2014 11:42:31 +0200 -Subject: [PATCH 21/25] dvdplayer: rename codec ctrl flags +Subject: [PATCH 21/23] dvdplayer: rename codec ctrl flags --- xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h | 14 ++++++++------ @@ -2275,10 +2275,10 @@ index bab0972..20aef4e 100644 if (iDropDirective & EOS_DROPPED) { -From ac0401ca7f609b4345ab1c50eea8d94c35cb82a3 Mon Sep 17 00:00:00 2001 +From 387abfc3db5e8fa214e4b7033966d064c727613a Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 13 Jun 2014 14:37:16 +0200 -Subject: [PATCH 22/25] VAAPI: implement codec control flags +Subject: [PATCH 22/23] VAAPI: implement codec control flags --- .../DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 21 ++++++++++++++++++--- @@ -2326,7 +2326,7 @@ index 8715d21..467a802 100644 pDvdVideoPicture->pts = DVD_NOPTS_VALUE; diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -index bfcf468..624d6a4 100644 +index 6685877..0edb0eb 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp @@ -715,6 +715,8 @@ int CDecoder::Decode(AVCodecContext* avctx, AVFrame* pFrame) @@ -2338,7 +2338,7 @@ index bfcf468..624d6a4 100644 } int retval = 0; -@@ -1677,8 +1679,8 @@ bool COutput::PreferPP() +@@ -1684,8 +1686,8 @@ bool COutput::PreferPP() void COutput::InitCycle() { uint64_t latency; @@ -2349,7 +2349,7 @@ index bfcf468..624d6a4 100644 m_config.stats->SetCanSkipDeint(false); -@@ -1686,7 +1688,8 @@ void COutput::InitCycle() +@@ -1693,7 +1695,8 @@ void COutput::InitCycle() EINTERLACEMETHOD method = CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod; bool interlaced = m_currentPicture.DVDPic.iFlags & DVP_FLAG_INTERLACED; @@ -2359,15 +2359,15 @@ index bfcf468..624d6a4 100644 (mode == VS_DEINTERLACEMODE_AUTO && interlaced))) { if((method == VS_INTERLACEMETHOD_AUTO && interlaced) -@@ -2516,6 +2519,7 @@ bool CVppPostproc::AddPicture(CVaapiDecodedPicture &pic) +@@ -2524,6 +2527,7 @@ bool CVppPostproc::AddPicture(CVaapiDecodedPicture &pic) m_decodedPics.push_front(pic); m_frameCount++; m_step = 0; + m_config.stats->SetCanSkipDeint(true); + return true; } - bool CVppPostproc::Filter(CVaapiProcessedPicture &outPic) -@@ -2559,6 +2563,13 @@ bool CVppPostproc::Filter(CVaapiProcessedPicture &outPic) +@@ -2568,6 +2572,13 @@ bool CVppPostproc::Filter(CVaapiProcessedPicture &outPic) } outPic.DVDPic = it->DVDPic; @@ -2382,10 +2382,10 @@ index bfcf468..624d6a4 100644 VAProcFilterParameterBufferDeinterlacing *filterParams; VABufferID pipelineBuf; -From ff19b3c0f2c3cc2b65ed0f5357fa046c13f54466 Mon Sep 17 00:00:00 2001 +From 91aa3151634bb41b1e92a22e68c75b59ede4dd7c Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 4 Sep 2014 09:25:48 +0200 -Subject: [PATCH 23/25] consider rounding errors in dropping control +Subject: [PATCH 23/23] consider rounding errors in dropping control --- xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 2 +- @@ -2404,89 +2404,3 @@ index 20aef4e..2a10cfd 100644 { CDroppingStats::CGain gain; gain.gain = iGain; - -From 0db9b46db86554cd363b49f3d6b85e7c6a9a5a9d Mon Sep 17 00:00:00 2001 -From: Rainer Hochecker -Date: Mon, 8 Sep 2014 12:12:16 +0200 -Subject: [PATCH 24/25] vaapi: fix potential segfault when pp method is changed - ---- - xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 22 +++++++++++++++------- - 1 file changed, 15 insertions(+), 7 deletions(-) - -diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -index 624d6a4..f8950c9 100644 ---- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -@@ -1409,7 +1409,11 @@ void COutput::StateMachine(int signal, Protocol *port, Message *msg) - switch (signal) - { - case COutputControlProtocol::TIMEOUT: -- m_pp->AddPicture(m_currentPicture); -+ if (!m_pp->AddPicture(m_currentPicture)) -+ { -+ m_state = O_TOP_ERROR; -+ return; -+ } - CVaapiProcessedPicture outPic; - if (m_pp->Filter(outPic)) - { -@@ -1664,14 +1668,17 @@ bool COutput::HasWork() - - bool COutput::PreferPP() - { -- if (!m_pp) -- return true; -+ if (!m_bufferPool.decodedPics.empty()) -+ { -+ if (!m_pp) -+ return true; - -- if (!m_bufferPool.decodedPics.empty() && !m_pp->DoesSync() && m_bufferPool.processedPics.size() < 4) -- return true; -+ if (!m_pp->DoesSync() && m_bufferPool.processedPics.size() < 4) -+ return true; - -- if (m_bufferPool.freeRenderPics.empty() || m_bufferPool.processedPics.empty()) -- return true; -+ if (m_bufferPool.freeRenderPics.empty() || m_bufferPool.processedPics.empty()) -+ return true; -+ } - - return false; - } -@@ -2520,6 +2527,7 @@ bool CVppPostproc::AddPicture(CVaapiDecodedPicture &pic) - m_frameCount++; - m_step = 0; - m_config.stats->SetCanSkipDeint(true); -+ return true; - } - - bool CVppPostproc::Filter(CVaapiProcessedPicture &outPic) - -From 6f09c92b1952bf7cd1128ff6d56ba4e14bbc4351 Mon Sep 17 00:00:00 2001 -From: Rainer Hochecker -Date: Tue, 9 Sep 2014 12:19:25 +0200 -Subject: [PATCH 25/25] pvr: avoid closing stream players on channel switch - ---- - xbmc/cores/dvdplayer/DVDPlayer.cpp | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index eb7bae6..5dfce8e 100644 ---- a/xbmc/cores/dvdplayer/DVDPlayer.cpp -+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp -@@ -1323,7 +1323,11 @@ void CDVDPlayer::Process() - break; - } - -- OpenDefaultStreams(); -+ // on channel switch we don't want to close stream players at this -+ // time. we'll get the stream change event later -+ if (!m_pInputStream->IsStreamType(DVDSTREAM_TYPE_PVRMANAGER) || -+ m_SelectionStreams.m_Streams.size() != 0) -+ OpenDefaultStreams(); - - // never allow first frames after open to be skipped - if( m_dvdPlayerVideo->IsInited() ) diff --git a/packages/mediacenter/xbmc/patches/xbmc-999.91-PR5294.patch b/packages/mediacenter/xbmc/patches/xbmc-999.91-PR5294.patch deleted file mode 100644 index 6d42f13e2b..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-999.91-PR5294.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 13519e92f7db6a15c0171a229420f528b317507e Mon Sep 17 00:00:00 2001 -From: "Chris \"Koying\" Browet" -Date: Sun, 31 Aug 2014 08:59:17 +0200 -Subject: [PATCH 1/2] FIX: prevent switching to windowed mode on windowing - system not actually supporting it - ---- - xbmc/settings/DisplaySettings.cpp | 3 +++ - xbmc/windowing/WinSystem.h | 1 + - xbmc/windowing/egl/WinSystemEGL.h | 1 + - xbmc/windowing/osx/WinSystemIOS.h | 1 + - 4 files changed, 6 insertions(+) - -diff --git a/xbmc/settings/DisplaySettings.cpp b/xbmc/settings/DisplaySettings.cpp -index bb31f15..44d5283 100644 ---- a/xbmc/settings/DisplaySettings.cpp -+++ b/xbmc/settings/DisplaySettings.cpp -@@ -330,6 +330,9 @@ bool CDisplaySettings::OnSettingUpdate(CSetting* &setting, const char *oldSettin - - void CDisplaySettings::SetCurrentResolution(RESOLUTION resolution, bool save /* = false */) - { -+ if (resolution == RES_WINDOW && !g_Windowing.CanDoWindowed()) -+ resolution = RES_DESKTOP; -+ - if (save) - { - string mode = GetStringFromResolution(resolution); -diff --git a/xbmc/windowing/WinSystem.h b/xbmc/windowing/WinSystem.h -index c0db210..59aeb2c 100644 ---- a/xbmc/windowing/WinSystem.h -+++ b/xbmc/windowing/WinSystem.h -@@ -96,6 +96,7 @@ class CWinSystemBase - unsigned int GetHeight() { return m_nHeight; } - virtual int GetNumScreens() { return 0; } - virtual int GetCurrentScreen() { return 0; } -+ virtual bool CanDoWindowed() { return true; } - bool IsFullScreen() { return m_bFullScreen; } - virtual void UpdateResolutions(); - void SetWindowResolution(int width, int height); -diff --git a/xbmc/windowing/egl/WinSystemEGL.h b/xbmc/windowing/egl/WinSystemEGL.h -index d9b3151..6c15471 100644 ---- a/xbmc/windowing/egl/WinSystemEGL.h -+++ b/xbmc/windowing/egl/WinSystemEGL.h -@@ -44,6 +44,7 @@ class CWinSystemEGL : public CWinSystemBase, public CRenderSystemGLES - virtual bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays); - virtual void UpdateResolutions(); - virtual bool IsExtSupported(const char* extension); -+ virtual bool CanDoWindowed() { return false; } - - virtual void ShowOSMouse(bool show); - virtual bool HasCursor(); -diff --git a/xbmc/windowing/osx/WinSystemIOS.h b/xbmc/windowing/osx/WinSystemIOS.h -index 5bab45a..049e0c8 100644 ---- a/xbmc/windowing/osx/WinSystemIOS.h -+++ b/xbmc/windowing/osx/WinSystemIOS.h -@@ -44,6 +44,7 @@ class CWinSystemIOS : public CWinSystemBase, public CRenderSystemGLES - virtual bool ResizeWindow(int newWidth, int newHeight, int newLeft, int newTop); - virtual bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays); - virtual void UpdateResolutions(); -+ virtual bool CanDoWindowed() { return false; } - - virtual void ShowOSMouse(bool show); - virtual bool HasCursor(); - -From da41d9b8e52ddfc521a05a588efcf8443989fb83 Mon Sep 17 00:00:00 2001 -From: "Chris \"Koying\" Browet" -Date: Sun, 31 Aug 2014 09:00:42 +0200 -Subject: [PATCH 2/2] FIX: do not mark resolution as changed if it didn't - ---- - xbmc/settings/DisplaySettings.cpp | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/xbmc/settings/DisplaySettings.cpp b/xbmc/settings/DisplaySettings.cpp -index 44d5283..e43445b 100644 ---- a/xbmc/settings/DisplaySettings.cpp -+++ b/xbmc/settings/DisplaySettings.cpp -@@ -339,9 +339,11 @@ void CDisplaySettings::SetCurrentResolution(RESOLUTION resolution, bool save /* - CSettings::Get().SetString("videoscreen.screenmode", mode.c_str()); - } - -- m_currentResolution = resolution; -- -- SetChanged(); -+ if (resolution != m_currentResolution) -+ { -+ m_currentResolution = resolution; -+ SetChanged(); -+ } - } - - RESOLUTION CDisplaySettings::GetDisplayResolution() const diff --git a/projects/RPi/patches/xbmc/xbmc-001-newclock4.patch b/projects/RPi/patches/xbmc/xbmc-001-newclock4.patch index 2b53f35439..b2e0453bb1 100644 --- a/projects/RPi/patches/xbmc/xbmc-001-newclock4.patch +++ b/projects/RPi/patches/xbmc/xbmc-001-newclock4.patch @@ -2437,97 +2437,6 @@ index 4e51166..8ed8eec 100644 levelNames[logLevel]) + strData; -From 3d1e720a7b09297dacb25e5bd71c7b3e6f4459f1 Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Tue, 14 Jan 2014 18:04:07 +0000 -Subject: [PATCH 16/77] [rbp] Allow ALSA to be chosen in addition to Pi sink - -Needs --enable-alsa in ./configure step and alsa support on platform ---- - configure.in | 1 - - tools/depends/target/Makefile | 5 +++-- - xbmc/cores/AudioEngine/AESinkFactory.cpp | 15 ++++++++++++++- - 3 files changed, 17 insertions(+), 4 deletions(-) - -diff --git a/configure.in b/configure.in -index e2b2a51..fcb7b62 100644 ---- a/configure.in -+++ b/configure.in -@@ -711,7 +711,6 @@ case $use_platform in - use_arch="arm" - use_cpu=arm1176jzf-s - use_hardcoded_tables="yes" -- use_alsa="no" - ARCH="arm" - AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer]) - USE_OMXLIB=1; AC_DEFINE([HAVE_OMXLIB],[1],["Define to 1 if OMX libs is enabled"]) -diff --git a/tools/depends/target/Makefile b/tools/depends/target/Makefile -index f5374b2..73a939c 100644 ---- a/tools/depends/target/Makefile -+++ b/tools/depends/target/Makefile -@@ -58,10 +58,11 @@ LINUX_SYSTEM_LIBS= - ifeq ($(OS),linux) - #not for raspberry pi - ifneq ($(TARGET_PLATFORM),raspberry-pi) -- DEPENDS += alsa-lib libsdl linux-system-libs -- ALSA_LIB = alsa-lib -+ DEPENDS += libsdl linux-system-libs - LINUX_SYSTEM_LIBS = linux-system-libs - endif -+ DEPENDS += alsa-lib -+ ALSA_LIB = alsa-lib - FFMPEG_DEPENDS = gnutls - endif - -diff --git a/xbmc/cores/AudioEngine/AESinkFactory.cpp b/xbmc/cores/AudioEngine/AESinkFactory.cpp -index e42d973..715b4f1 100644 ---- a/xbmc/cores/AudioEngine/AESinkFactory.cpp -+++ b/xbmc/cores/AudioEngine/AESinkFactory.cpp -@@ -27,6 +27,7 @@ - #include "Sinks/AESinkAUDIOTRACK.h" - #elif defined(TARGET_RASPBERRY_PI) - #include "Sinks/AESinkPi.h" -+ #include "Sinks/AESinkALSA.h" - #elif defined(TARGET_DARWIN_IOS) - #include "Sinks/AESinkDARWINIOS.h" - #elif defined(TARGET_DARWIN_OSX) -@@ -66,6 +67,7 @@ void CAESinkFactory::ParseDevice(std::string &device, std::string &driver) - driver == "AUDIOTRACK" || - #elif defined(TARGET_RASPBERRY_PI) - driver == "PI" || -+ driver == "ALSA" || - #elif defined(TARGET_DARWIN_IOS) - driver == "DARWINIOS" || - #elif defined(TARGET_DARWIN_OSX) -@@ -105,7 +107,12 @@ IAESink *CAESinkFactory::TrySink(std::string &driver, std::string &device, AEAud - #elif defined(TARGET_ANDROID) - sink = new CAESinkAUDIOTRACK(); - #elif defined(TARGET_RASPBERRY_PI) -+ if (driver == "PI") - sink = new CAESinkPi(); -+ #if defined(HAS_ALSA) -+ if (driver == "ALSA") -+ sink = new CAESinkALSA(); -+ #endif - #elif defined(TARGET_DARWIN_IOS) - sink = new CAESinkDARWINIOS(); - #elif defined(TARGET_DARWIN_OSX) -@@ -196,7 +203,13 @@ void CAESinkFactory::EnumerateEx(AESinkInfoList &list, bool force) - CAESinkPi::EnumerateDevicesEx(info.m_deviceInfoList, force); - if(!info.m_deviceInfoList.empty()) - list.push_back(info); -- -+ #if defined(HAS_ALSA) -+ info.m_deviceInfoList.clear(); -+ info.m_sinkName = "ALSA"; -+ CAESinkALSA::EnumerateDevicesEx(info.m_deviceInfoList, force); -+ if(!info.m_deviceInfoList.empty()) -+ list.push_back(info); -+ #endif - #elif defined(TARGET_DARWIN_IOS) - - info.m_deviceInfoList.clear(); - From ede35f9c20d4468b43987b49182f6f73e5d75882 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Mar 2014 15:36:06 +0000