diff --git a/packages/mediacenter/xbmc-theme-Confluence/package.mk b/packages/mediacenter/xbmc-theme-Confluence/package.mk index 1eaa9d1b2c..5edb431355 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-6f26fca" +PKG_VERSION="14-3f20fb2" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/mediacenter/xbmc/package.mk b/packages/mediacenter/xbmc/package.mk index 202cbefd68..b44af1013f 100644 --- a/packages/mediacenter/xbmc/package.mk +++ b/packages/mediacenter/xbmc/package.mk @@ -17,7 +17,7 @@ ################################################################################ PKG_NAME="xbmc" -PKG_VERSION="14-6f26fca" +PKG_VERSION="14-3f20fb2" 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 eac74746bc..7ae7ea364f 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 88407b12f16fd9b37ac4fb0ef4fc01d4220d15fa Mon Sep 17 00:00:00 2001 +From 1a5f6373ff6b5c9b102978ae23bb3015e09c2ca6 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:34:39 +0200 -Subject: [PATCH 01/31] videoplayer: adapt lateness detection and dropping to +Subject: [PATCH 01/29] videoplayer: adapt lateness detection and dropping to buffering --- @@ -182,7 +182,7 @@ index 741017d..c5b24d6 100644 + virtual void SetCodecControl(int flags) {} }; diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -index 0d4dcd5..2c541f5 100644 +index 2db5d99..6920db2 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp @@ -167,6 +167,7 @@ CDVDVideoCodecFFmpeg::CDVDVideoCodecFFmpeg() : CDVDVideoCodec() @@ -193,7 +193,7 @@ index 0d4dcd5..2c541f5 100644 } CDVDVideoCodecFFmpeg::~CDVDVideoCodecFFmpeg() -@@ -342,6 +343,14 @@ void CDVDVideoCodecFFmpeg::SetDropState(bool bDrop) +@@ -344,6 +345,14 @@ void CDVDVideoCodecFFmpeg::SetDropState(bool bDrop) { if( m_pCodecContext ) { @@ -208,7 +208,7 @@ index 0d4dcd5..2c541f5 100644 // i don't know exactly how high this should be set // couldn't find any good docs on it. think it varies // from codec to codec on what it does -@@ -543,6 +552,7 @@ int CDVDVideoCodecFFmpeg::Decode(uint8_t* pData, int iSize, double dts, double p +@@ -545,6 +554,7 @@ int CDVDVideoCodecFFmpeg::Decode(uint8_t* pData, int iSize, double dts, double p void CDVDVideoCodecFFmpeg::Reset() { m_started = false; @@ -216,7 +216,7 @@ index 0d4dcd5..2c541f5 100644 m_iLastKeyframe = m_pCodecContext->has_b_frames; avcodec_flush_buffers(m_pCodecContext); -@@ -640,6 +650,22 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture) +@@ -642,6 +652,22 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture) else pDvdVideoPicture->pts = DVD_NOPTS_VALUE; @@ -239,7 +239,7 @@ index 0d4dcd5..2c541f5 100644 if(!m_started) pDvdVideoPicture->iFlags |= DVP_FLAG_DROPPED; -@@ -821,3 +847,18 @@ unsigned CDVDVideoCodecFFmpeg::GetAllowedReferences() +@@ -823,3 +849,18 @@ unsigned CDVDVideoCodecFFmpeg::GetAllowedReferences() else return 0; } @@ -646,10 +646,10 @@ index 296cae6..4795ca0 100644 2.0.3 -From 0c230eb40a84be37b75ff3524945858839733437 Mon Sep 17 00:00:00 2001 +From ca470bff36fcc6a8ab30a4205f34c4a215e9851d Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 2 Sep 2012 16:05:21 +0200 -Subject: [PATCH 02/31] video player: present correct pts to user for a/v sync +Subject: [PATCH 02/29] video player: present correct pts to user for a/v sync (after buffering in renderer) --- @@ -701,10 +701,10 @@ index 4795ca0..b60a0ee 100644 2.0.3 -From 1b446083247a50ee640f3fbbbfba3269f5c3b1e9 Mon Sep 17 00:00:00 2001 +From 10df96a1b9ed083fc294dbf63ec194f64678a8d7 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 1 Jun 2013 11:21:19 +0200 -Subject: [PATCH 03/31] renderer: bump buffers to 5 +Subject: [PATCH 03/29] renderer: bump buffers to 5 --- xbmc/cores/VideoRenderers/BaseRenderer.h | 2 +- @@ -727,10 +727,10 @@ index fb41ccf..f5e5677 100644 2.0.3 -From 9e4070c20193efe1130a26ada3580c436956b230 Mon Sep 17 00:00:00 2001 +From 4889fa6842a6a33b6e8392bd6735ffd20e3d02b1 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:41:31 +0200 -Subject: [PATCH 04/31] videoplayer: update frametime, it might change due to +Subject: [PATCH 04/29] videoplayer: update frametime, it might change due to fps detection --- @@ -754,10 +754,10 @@ index 75c67a9..fb7ea06 100644 2.0.3 -From c2a2ce71fef08fc39b24bad848cbb865b9229cf6 Mon Sep 17 00:00:00 2001 +From 4c75b9140604b9eeb8ccd25fef8cd99396f63238 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:43:06 +0200 -Subject: [PATCH 05/31] videoplayer: give streams with invalid fps a chance for +Subject: [PATCH 05/29] videoplayer: give streams with invalid fps a chance for fps detection --- @@ -781,10 +781,10 @@ index fb7ea06..af7a443 100644 2.0.3 -From 9679baba7fd0f000d11ff1c213480a48958a7f0a Mon Sep 17 00:00:00 2001 +From 4cfd387c0d1cefd90f6274121513c344705e1a02 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:49:05 +0200 -Subject: [PATCH 06/31] dvdplayer: allow rewinding at end of stream, do a seek +Subject: [PATCH 06/29] dvdplayer: allow rewinding at end of stream, do a seek after rewind --- @@ -792,7 +792,7 @@ Subject: [PATCH 06/31] 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 93df78c..fbff9fd 100644 +index a2ac2c6..b3d7c3d 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -1582,7 +1582,7 @@ void CDVDPlayer::HandlePlaySpeed() @@ -821,10 +821,10 @@ index 93df78c..fbff9fd 100644 2.0.3 -From 48ed6dd5a189e4013ec4bdef193882d18f5a5fc3 Mon Sep 17 00:00:00 2001 +From 5d3daa2e5faaf0506a43e602600de054700167f6 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 20 Aug 2012 16:06:39 +0200 -Subject: [PATCH 07/31] dvdplayer: observe pts counter overflow +Subject: [PATCH 07/29] dvdplayer: observe pts counter overflow --- .../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 197 ++++++++++++++++++++- @@ -832,7 +832,7 @@ Subject: [PATCH 07/31] dvdplayer: observe pts counter overflow 2 files changed, 200 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 0041c23..59ff17c 100644 +index 03cd1d7..080b3d2 100644 --- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp @@ -18,7 +18,6 @@ @@ -851,7 +851,7 @@ index 0041c23..59ff17c 100644 #include "stdint.h" #endif #include "DVDDemuxFFmpeg.h" -@@ -445,6 +445,9 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput) +@@ -447,6 +447,9 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput) CreateStreams(); @@ -861,7 +861,7 @@ index 0041c23..59ff17c 100644 return true; } -@@ -585,6 +588,12 @@ double CDVDDemuxFFmpeg::ConvertTimestamp(int64_t pts, int den, int num) +@@ -587,6 +590,12 @@ double CDVDDemuxFFmpeg::ConvertTimestamp(int64_t pts, int den, int num) if (pts == (int64_t)AV_NOPTS_VALUE) return DVD_NOPTS_VALUE; @@ -874,7 +874,7 @@ index 0041c23..59ff17c 100644 // do calculations in floats as they can easily overflow otherwise // we don't care for having a completly exact timestamp anyway double timestamp = (double)pts * num / den; -@@ -724,6 +733,24 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -726,6 +735,24 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() m_pkt.pkt.pts = AV_NOPTS_VALUE; } @@ -899,7 +899,7 @@ index 0041c23..59ff17c 100644 // copy contents into our own packet pPacket->iSize = m_pkt.pkt.size; -@@ -857,7 +884,16 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts) +@@ -859,7 +886,16 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts) ret = av_seek_frame(m_pFormatContext, -1, seek_pts, backwords ? AVSEEK_FLAG_BACKWARD : 0); if(ret >= 0) @@ -916,7 +916,7 @@ index 0041c23..59ff17c 100644 } if(m_iCurrentPts == DVD_NOPTS_VALUE) -@@ -876,6 +912,165 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts) +@@ -878,6 +914,165 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts) return (ret >= 0); } @@ -1107,10 +1107,10 @@ index 08eb3df..dd89584 100644 2.0.3 -From a178c584cf800702210406c383d2cfa8ba582b34 Mon Sep 17 00:00:00 2001 +From 7f17dc86fad3c003be4fa1bcdc6bf1b9362f8147 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 2 Oct 2012 13:02:10 +0200 -Subject: [PATCH 08/31] dvdplayer: avoid short screen flicker caused by +Subject: [PATCH 08/29] dvdplayer: avoid short screen flicker caused by unnecessary reconfigure of renderer --- @@ -1143,10 +1143,10 @@ index af7a443..cc6e88c 100644 2.0.3 -From 775a19a406601c73266feefa98b151e102c1cee6 Mon Sep 17 00:00:00 2001 +From 6a3924dd51b9de56f38f60bf736e60aa969c6f40 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 11 Oct 2012 12:05:50 +0200 -Subject: [PATCH 09/31] vdpau: advanced settings for auto deinterlacing +Subject: [PATCH 09/29] vdpau: advanced settings for auto deinterlacing --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 8 ++++---- @@ -1174,7 +1174,7 @@ index 0c71532..345c442 100644 if (deint != -1) { diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp -index d1797ac..a8acb0c 100644 +index 5f3f2d8..f42970c 100644 --- a/xbmc/settings/AdvancedSettings.cpp +++ b/xbmc/settings/AdvancedSettings.cpp @@ -156,6 +156,8 @@ void CAdvancedSettings::Initialize() @@ -1212,10 +1212,10 @@ index 7e50a63..980138e 100644 2.0.3 -From 53ae554c72f826f6a65f94bb888c6c3e9f1db80c Mon Sep 17 00:00:00 2001 +From 06dc66c7b370f9e016c03e3cc22b2583d21b4d10 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 2 Nov 2012 13:20:03 +0100 -Subject: [PATCH 10/31] player: fix rewind +Subject: [PATCH 10/29] player: fix rewind --- xbmc/cores/dvdplayer/DVDMessage.h | 5 ++++- @@ -1263,7 +1263,7 @@ index a365821..07366df 100644 class CDVDMsgPlayerSeekChapter : public CDVDMsg diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index fbff9fd..5c1ab1a 100644 +index b3d7c3d..a267559 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -1583,11 +1583,13 @@ void CDVDPlayer::HandlePlaySpeed() @@ -1276,7 +1276,7 @@ index fbff9fd..5c1ab1a 100644 && m_SpeedState.lasttime != GetTime()) { m_SpeedState.lastpts = m_dvdPlayerVideo.GetCurrentPts(); - m_SpeedState.lasttime = GetTime(); + m_SpeedState.lasttime = (double) GetTime(); + m_SpeedState.lastabstime = CDVDClock::GetAbsoluteClock(); // check how much off clock video is when ff/rw:ing // a problem here is that seeking isn't very accurate @@ -1285,8 +1285,8 @@ index fbff9fd..5c1ab1a 100644 { 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); -- m_messenger.Put(new CDVDMsgPlayerSeek(iTime, (GetPlaySpeed() < 0), true, false, false, true)); -+ m_messenger.Put(new CDVDMsgPlayerSeek(iTime, (GetPlaySpeed() < 0), true, false, false, true, false)); +- m_messenger.Put(new CDVDMsgPlayerSeek((int) iTime, (GetPlaySpeed() < 0), true, false, false, true)); ++ m_messenger.Put(new CDVDMsgPlayerSeek((int) iTime, (GetPlaySpeed() < 0), true, false, false, true, false)); } } } @@ -1430,17 +1430,17 @@ index b60a0ee..ecd2d20 100644 2.0.3 -From d507617b934c83b13a1bc49e8885722f058e1b61 Mon Sep 17 00:00:00 2001 +From 81f0ce5da5cf8fb773c96156de4591f962853ff5 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 28 Mar 2013 15:18:53 +0100 -Subject: [PATCH 11/31] OMXPlayer: some caching fixes for pvr +Subject: [PATCH 11/29] 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 29ea4ae..0df8aba 100644 +index b135741..8965fe2 100644 --- a/xbmc/cores/omxplayer/OMXPlayer.cpp +++ b/xbmc/cores/omxplayer/OMXPlayer.cpp @@ -2524,7 +2524,8 @@ void COMXPlayer::HandleMessages() @@ -1457,17 +1457,17 @@ index 29ea4ae..0df8aba 100644 2.0.3 -From 6873226a091f9ad66e72dbfd88dd6f608dd5adbe Mon Sep 17 00:00:00 2001 +From 37d547fba784e6b8066f6d72ae43a308eaaec032 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 28 Mar 2013 20:50:59 +0100 -Subject: [PATCH 12/31] fix incorrect display of fps when dr kicks in +Subject: [PATCH 12/29] 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 a25f44f..027172e 100644 +index 397bfa4..fda7929 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -2336,10 +2336,11 @@ void CApplication::Render() @@ -1487,10 +1487,10 @@ index a25f44f..027172e 100644 2.0.3 -From f6217d1f508d8bdd0c025f859936b474f3136f85 Mon Sep 17 00:00:00 2001 +From 2839e0755a58cd7b5df97f53987ba39a2635622f Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 25 Jul 2013 17:18:13 +0200 -Subject: [PATCH 13/31] ActiveAE: slightly reduce buffer size +Subject: [PATCH 13/29] ActiveAE: slightly reduce buffer size --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 4 ++-- @@ -1515,10 +1515,10 @@ index fe5e893..c98c73b 100644 2.0.3 -From 6715696b126d772fa3553eaaa30f6ca110841a7c Mon Sep 17 00:00:00 2001 +From 960c1a510cec7624691166547a3be29add96a56f Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sun, 4 Aug 2013 10:11:16 +0200 -Subject: [PATCH 14/31] Revert "vdpau: comment some features that will be added +Subject: [PATCH 14/29] Revert "vdpau: comment some features that will be added later" This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf. @@ -1574,32 +1574,24 @@ index 345c442..6d2e564 100644 2.0.3 -From a542f0f7139300e06423d761f558d40b910a5730 Mon Sep 17 00:00:00 2001 +From 42e8966f4e32bbd42a61c7a95483246ffce274aa Mon Sep 17 00:00:00 2001 From: Marcel Groothuis Date: Thu, 5 Dec 2013 22:02:50 +0100 -Subject: [PATCH 15/31] ffmpeg demuxer: faster channel change for PVR addons +Subject: [PATCH 15/29] ffmpeg demuxer: faster channel change for PVR addons without internal demuxing (such as MediaPortal, ArgusTV, MythTV, NextPVR) Credits: FernetMenta, Davilla, Popcornmix, Whaupt --- - .../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 187 +++++++++++++++++++-- + .../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 185 +++++++++++++++++++-- xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.h | 7 +- .../dvdplayer/DVDDemuxers/DVDFactoryDemuxer.cpp | 13 +- - 3 files changed, 184 insertions(+), 23 deletions(-) + 3 files changed, 184 insertions(+), 21 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 59ff17c..6e2f585 100644 +index 080b3d2..c01bc11 100644 --- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -@@ -52,7 +52,6 @@ - #include "URL.h" - #include "cores/FFmpeg.h" - -- - struct StereoModeConversionMap - { - const char* name; -@@ -71,6 +70,8 @@ static const struct StereoModeConversionMap WmvToInternalStereoModeMap[] = +@@ -74,6 +74,8 @@ static const struct StereoModeConversionMap WmvToInternalStereoModeMap[] = {} }; @@ -1608,7 +1600,7 @@ index 59ff17c..6e2f585 100644 void CDemuxStreamAudioFFmpeg::GetStreamInfo(std::string& strInfo) { if(!m_stream) return; -@@ -172,6 +173,8 @@ CDVDDemuxFFmpeg::CDVDDemuxFFmpeg() : CDVDDemux() +@@ -175,6 +177,8 @@ CDVDDemuxFFmpeg::CDVDDemuxFFmpeg() : CDVDDemux() m_program = UINT_MAX; m_pkt.result = -1; memset(&m_pkt.pkt, 0, sizeof(AVPacket)); @@ -1617,7 +1609,7 @@ index 59ff17c..6e2f585 100644 } CDVDDemuxFFmpeg::~CDVDDemuxFFmpeg() -@@ -192,10 +195,11 @@ bool CDVDDemuxFFmpeg::Aborted() +@@ -195,10 +199,11 @@ bool CDVDDemuxFFmpeg::Aborted() return false; } @@ -1630,7 +1622,7 @@ index 59ff17c..6e2f585 100644 m_iCurrentPts = DVD_NOPTS_VALUE; m_speed = DVD_PLAYSPEED_NORMAL; m_program = UINT_MAX; -@@ -206,8 +210,6 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput) +@@ -209,8 +214,6 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput) m_pInput = pInput; strFile = m_pInput->GetFileName(); @@ -1639,9 +1631,9 @@ index 59ff17c..6e2f585 100644 if( m_pInput->GetContent().length() > 0 ) { std::string content = m_pInput->GetContent(); -@@ -402,17 +404,22 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput) +@@ -405,13 +408,19 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput) if (iformat && (strcmp(iformat->name, "mjpeg") == 0) && m_ioContext->seekable == 0) - m_pFormatContext->max_analyze_duration = 500000; + av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0); + if (iformat && (strcmp(iformat->name, "mpegts") == 0)) + { @@ -1659,13 +1651,9 @@ index 59ff17c..6e2f585 100644 - /* too speed up dvd switches, only analyse very short */ + /* to speed up dvd switches, only analyse very short */ if(m_pInput->IsStreamType(DVDSTREAM_TYPE_DVD)) - m_pFormatContext->max_analyze_duration = 500000; + av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0); -- - CLog::Log(LOGDEBUG, "%s - avformat_find_stream_info starting", __FUNCTION__); - int iErr = avformat_find_stream_info(m_pFormatContext, NULL); - if (iErr < 0) -@@ -431,7 +438,19 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput) +@@ -433,7 +442,19 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput) } } CLog::Log(LOGDEBUG, "%s - av_find_stream_info finished", __FUNCTION__); @@ -1675,17 +1663,17 @@ index 59ff17c..6e2f585 100644 + // make sure we start video with an i-frame + ResetVideoStreams(); + } -+ } + } + else + { + m_program = 0; + m_checkvideo = true; - } ++ } + // reset any timeout m_timeout.SetInfinite(); -@@ -485,7 +504,7 @@ void CDVDDemuxFFmpeg::Reset() +@@ -487,7 +508,7 @@ void CDVDDemuxFFmpeg::Reset() { CDVDInputStream* pInputStream = m_pInput; Dispose(); @@ -1694,7 +1682,7 @@ index 59ff17c..6e2f585 100644 } void CDVDDemuxFFmpeg::Flush() -@@ -679,25 +698,32 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -681,25 +702,32 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() } else { @@ -1737,7 +1725,7 @@ index 59ff17c..6e2f585 100644 if (pPacket) { -@@ -1681,3 +1707,128 @@ std::string CDVDDemuxFFmpeg::ConvertCodecToInternalStereoMode(const std::string +@@ -1683,3 +1711,128 @@ std::string CDVDDemuxFFmpeg::ConvertCodecToInternalStereoMode(const std::string } return ""; } @@ -1949,10 +1937,10 @@ index ca689d0..f383563 100644 2.0.3 -From fb1c1a317923b34030bf9b3a21a5d472c05a884c Mon Sep 17 00:00:00 2001 +From 14bc80543a56bc13bd1431bb69abc1eb6b797574 Mon Sep 17 00:00:00 2001 From: Wolfgang Haupt Date: Thu, 5 Dec 2013 22:11:57 +0100 -Subject: [PATCH 16/31] DVDFactoryDemuxer: skip streaminfo for udp tcp and +Subject: [PATCH 16/29] DVDFactoryDemuxer: skip streaminfo for udp tcp and pvr-channels --- @@ -2076,10 +2064,10 @@ index 667f6d3..0094709 100644 2.0.3 -From 574b9866f6fb72511e6ca66b9944e8b18bbc4563 Mon Sep 17 00:00:00 2001 +From 27f983a373cdf3bc660a865f21a778316203a2d3 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sun, 22 Dec 2013 14:52:29 +0100 -Subject: [PATCH 17/31] linux: add shared lib for sse4 operations +Subject: [PATCH 17/29] linux: add shared lib for sse4 operations --- Makefile.in | 8 ++- @@ -2094,10 +2082,10 @@ Subject: [PATCH 17/31] linux: add shared lib for sse4 operations create mode 100644 xbmc/linux/sse4/Makefile.in diff --git a/Makefile.in b/Makefile.in -index cc0b40c..f471695 100644 +index 433d5ba..1dd97ee 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -318,6 +318,12 @@ CHECK_LIBADD=@WAYLAND_TEST_LIBS@ +@@ -320,6 +320,12 @@ CHECK_LIBADD=@WAYLAND_TEST_LIBS@ endif endif @@ -2110,7 +2098,7 @@ index cc0b40c..f471695 100644 CHECK_PROGRAMS = xbmc-test CLEAN_FILES += $(CHECK_PROGRAMS) $(CHECK_EXTENSIONS) -@@ -445,7 +451,7 @@ endif +@@ -447,7 +453,7 @@ endif codecs: papcodecs dvdpcodecs dvdpextcodecs @@ -2120,7 +2108,7 @@ index cc0b40c..f471695 100644 externals: codecs libs visualizations screensavers libaddon pvraddons diff --git a/configure.in b/configure.in -index ce82cd4..a1abd70 100644 +index a9d5f46..c6f7cf1 100644 --- a/configure.in +++ b/configure.in @@ -843,6 +843,19 @@ elif test "$use_arch" = "arm"; then @@ -2374,20 +2362,20 @@ index 0000000..45aa826 2.0.3 -From df4f83ca42cf1648bc3a9beacee8805f598092b9 Mon Sep 17 00:00:00 2001 +From 6bdf738ed60795c3bb9224be9144ca5429767e33 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 28 Jan 2014 10:05:26 +0100 -Subject: [PATCH 18/31] xbmc pr 3080 +Subject: [PATCH 18/29] xbmc pr 3080 --- xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -index 2c541f5..dce21e0 100644 +index 6920db2..d72e256 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -@@ -475,6 +475,14 @@ int CDVDVideoCodecFFmpeg::Decode(uint8_t* pData, int iSize, double dts, double p +@@ -477,6 +477,14 @@ int CDVDVideoCodecFFmpeg::Decode(uint8_t* pData, int iSize, double dts, double p av_init_packet(&avpkt); avpkt.data = pData; avpkt.size = iSize; @@ -2406,17 +2394,17 @@ index 2c541f5..dce21e0 100644 2.0.3 -From d14da2b136b5242cf2e31892320e00f5ac237b39 Mon Sep 17 00:00:00 2001 +From f6ef191529a8c0b5c741efcc84300631874c7dd8 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 11 Feb 2014 18:15:06 +0100 -Subject: [PATCH 19/31] ActiveAE: add some debug logging +Subject: [PATCH 19/29] ActiveAE: add some debug logging --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp -index c61e9175..99c2faf 100644 +index ec10397..3b67fc0 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp @@ -263,7 +263,13 @@ unsigned int CActiveAEStream::AddData(uint8_t* const *data, unsigned int offset, @@ -2437,10 +2425,10 @@ index c61e9175..99c2faf 100644 2.0.3 -From 419b457b3eed7bbadcc9265de698a1aa68cf721e Mon Sep 17 00:00:00 2001 +From 93a43540101240e2355f5a725fea8316dd94b1a9 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 13 Jun 2014 14:37:16 +0200 -Subject: [PATCH 20/31] vaapi - postprocessing +Subject: [PATCH 20/29] vaapi - postprocessing --- configure.in | 16 +- @@ -2461,7 +2449,7 @@ Subject: [PATCH 20/31] vaapi - postprocessing 15 files changed, 3466 insertions(+), 674 deletions(-) diff --git a/configure.in b/configure.in -index a1abd70..20633fe 100644 +index c6f7cf1..9e35f52 100644 --- a/configure.in +++ b/configure.in @@ -1862,21 +1862,15 @@ if test "x$use_vaapi" != "xno"; then @@ -2492,10 +2480,10 @@ index a1abd70..20633fe 100644 fi else diff --git a/language/English/strings.po b/language/English/strings.po -index 3b3fdd0..db1db23 100755 +index dc494c1..a55ede5 100755 --- a/language/English/strings.po +++ b/language/English/strings.po -@@ -6188,7 +6188,13 @@ msgctxt "#13456" +@@ -6189,7 +6189,13 @@ msgctxt "#13456" msgid "Hardware accelerated" msgstr "" @@ -2510,7 +2498,7 @@ index 3b3fdd0..db1db23 100755 #: system/settings/settings.xml msgctxt "#13500" -@@ -7352,7 +7358,22 @@ msgctxt "#16326" +@@ -7353,7 +7359,22 @@ msgctxt "#16326" msgid "DXVA-HD" msgstr "" @@ -2534,7 +2522,7 @@ index 3b3fdd0..db1db23 100755 #: xbmc/video/dialogs/GUIDialogVideoSettings.cpp msgctxt "#16400" -@@ -15349,7 +15370,14 @@ msgctxt "#36431" +@@ -15350,7 +15371,14 @@ msgctxt "#36431" msgid "Defines whether video decoding should be performed in software (requires more CPU) or with hardware acceleration where possible." msgstr "" @@ -2551,7 +2539,7 @@ index 3b3fdd0..db1db23 100755 #: system/settings/settings.xml diff --git a/system/settings/settings.xml b/system/settings/settings.xml -index 637ddea..416e7ee 100644 +index cc331b7..ce9cb61 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml @@ -715,6 +715,21 @@ @@ -3110,10 +3098,10 @@ index c5b24d6..69ff8c9 100644 struct { diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -index dce21e0..95e648a 100644 +index d72e256..a4ebcd8 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -@@ -628,6 +628,7 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture) +@@ -630,6 +630,7 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture) pDvdVideoPicture->chroma_position = m_pCodecContext->chroma_sample_location; pDvdVideoPicture->color_primaries = m_pCodecContext->color_primaries; pDvdVideoPicture->color_transfer = m_pCodecContext->color_trc; @@ -3121,7 +3109,7 @@ index dce21e0..95e648a 100644 if(m_pCodecContext->color_range == AVCOL_RANGE_JPEG || m_pCodecContext->pix_fmt == PIX_FMT_YUVJ420P) pDvdVideoPicture->color_range = 1; -@@ -651,10 +652,24 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture) +@@ -653,10 +654,24 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture) pDvdVideoPicture->qscale_type = DVP_QSCALE_UNKNOWN; } @@ -7173,10 +7161,10 @@ index 760eda5..965f297 100644 2.0.3 -From 01fe1bb2130c11bd8ea0a2ddbb3de0ae568d43e8 Mon Sep 17 00:00:00 2001 +From eff747c2066e426c0eb8ad9581a250b09ac308ec Mon Sep 17 00:00:00 2001 From: fritsch Date: Sun, 29 Jun 2014 14:45:28 +0200 -Subject: [PATCH 21/31] VAAPI: Don't use swfilter for large surfaces - fallback +Subject: [PATCH 21/29] VAAPI: Don't use swfilter for large surfaces - fallback to vaapi render --- @@ -7257,10 +7245,10 @@ index 93be338..4e1b136 100644 2.0.3 -From 418e2d3a9c5c92ca02348005a83ad5949f209959 Mon Sep 17 00:00:00 2001 +From 9741c9eab449c8fcc4ec2dfad3dc859645ad45d9 Mon Sep 17 00:00:00 2001 From: fritsch Date: Sun, 29 Jun 2014 16:21:44 +0200 -Subject: [PATCH 22/31] VAAPI: Fix fallback condition +Subject: [PATCH 22/29] VAAPI: Fix fallback condition --- xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 3 +-- @@ -7284,20 +7272,20 @@ index 4e1b136..92b2f97 100644 2.0.3 -From 6fdaf675b27ebc4282044478ec755d80bac72b91 Mon Sep 17 00:00:00 2001 +From 5ee8e27e35a5709a6474a01cd6ceda098d91b278 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 18 Jul 2014 10:39:07 +0200 -Subject: [PATCH 24/31] fast channel switch, make sure extradata is decoded +Subject: [PATCH 23/29] fast channel switch, make sure extradata is decoded --- xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 6e2f585..7a44a1a 100644 +index c01bc11..d38bfab 100644 --- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -@@ -1763,7 +1763,8 @@ void CDVDDemuxFFmpeg::ParsePacket(AVPacket *pkt) +@@ -1767,7 +1767,8 @@ void CDVDDemuxFFmpeg::ParsePacket(AVPacket *pkt) // We don't need to actually decode here // we just want to transport SPS data into codec context st->codec->skip_idct = AVDISCARD_ALL; @@ -7311,10 +7299,10 @@ index 6e2f585..7a44a1a 100644 2.0.3 -From 0b185af12c454c36afaefa4db81cd3aa7ddf03cc Mon Sep 17 00:00:00 2001 +From bac2292ff9f68f91fc7f14bdcc79cd784167803b Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Mon, 21 Jul 2014 08:53:07 +0200 -Subject: [PATCH 25/31] vaapi: fix potential segfault, squash me later +Subject: [PATCH 24/29] vaapi: fix potential segfault, squash me later --- xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 1 + @@ -7336,10 +7324,10 @@ index 92b2f97..671e8a5 100644 2.0.3 -From b1bf55d5abde519fa711d61f4b9664dbfce4623e Mon Sep 17 00:00:00 2001 +From 5a9cbb8fa924af1afddfa90882f0358c6e6a749a Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 22 Jul 2014 15:36:31 +0200 -Subject: [PATCH 26/31] dvdplayer: get number of channels for active audio +Subject: [PATCH 25/29] dvdplayer: get number of channels for active audio stream from audio player, ffmpeg demuxer does not update this info for codecs like AAC @@ -7350,7 +7338,7 @@ Subject: [PATCH 26/31] 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 5c1ab1a..2ca4eaf 100644 +index a267559..a7b23e5 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -3788,12 +3788,18 @@ void CDVDPlayer::GetAudioStreamInfo(int index, SPlayerAudioStreamInfo &info) @@ -7381,7 +7369,7 @@ index 5c1ab1a..2ca4eaf 100644 m_pDemuxer->GetStreamCodecName(stream->iId, codecName); info.audioCodecName = codecName; diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp -index 3141a9b..68ec63d 100644 +index e4c6089..120cdde 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp @@ -552,6 +552,8 @@ void CDVDPlayerAudio::Process() @@ -7421,10 +7409,10 @@ index 2a1b564..ec9570a 100644 2.0.3 -From 495c5b8970309ee38d6ae8ae927c02a7c17709a0 Mon Sep 17 00:00:00 2001 +From 15bf21b291dc3d97187210ac8b8515d31e7e4c53 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Wed, 23 Jul 2014 15:07:37 +0200 -Subject: [PATCH 27/31] ffmpeg demuxer: allow a stream change if pat/pmt was +Subject: [PATCH 26/29] ffmpeg demuxer: allow a stream change if pat/pmt was not seen on open --- @@ -7432,10 +7420,10 @@ Subject: [PATCH 27/31] ffmpeg demuxer: allow a stream change if pat/pmt was 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 7a44a1a..9983d9e 100644 +index d38bfab..e388ecf 100644 --- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -@@ -462,7 +462,13 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo) +@@ -466,7 +466,13 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo) UpdateCurrentPTS(); @@ -7454,88 +7442,10 @@ index 7a44a1a..9983d9e 100644 2.0.3 -From 66aadd770712c0658a032c79fab287a102c477e5 Mon Sep 17 00:00:00 2001 -From: Rainer Hochecker -Date: Sat, 26 Jul 2014 09:54:06 +0200 -Subject: [PATCH 28/31] ffmpeg: adapt depreciated attribute - max_analyze_duration - ---- - xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 9983d9e..a8e1f7a 100644 ---- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -@@ -52,6 +52,10 @@ - #include "URL.h" - #include "cores/FFmpeg.h" - -+extern "C" { -+#include "libavutil/opt.h" -+} -+ - struct StereoModeConversionMap - { - const char* name; -@@ -402,11 +406,11 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo) - - // analyse very short to speed up mjpeg playback start - if (iformat && (strcmp(iformat->name, "mjpeg") == 0) && m_ioContext->seekable == 0) -- m_pFormatContext->max_analyze_duration = 500000; -+ av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0); - - if (iformat && (strcmp(iformat->name, "mpegts") == 0)) - { -- m_pFormatContext->max_analyze_duration = 500000; -+ av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0); - m_checkvideo = true; - } - -@@ -418,7 +422,7 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo) - { - /* to speed up dvd switches, only analyse very short */ - if(m_pInput->IsStreamType(DVDSTREAM_TYPE_DVD)) -- m_pFormatContext->max_analyze_duration = 500000; -+ av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0); - - CLog::Log(LOGDEBUG, "%s - avformat_find_stream_info starting", __FUNCTION__); - int iErr = avformat_find_stream_info(m_pFormatContext, NULL); --- -2.0.3 - - -From 98e4a94f1dfb752a3207ac1fc97988196a3ce2cf Mon Sep 17 00:00:00 2001 -From: Rainer Hochecker -Date: Sat, 26 Jul 2014 14:37:52 +0200 -Subject: [PATCH 29/31] ffmpeg: fix deadlock caused by calling - avctx->thread_count after codec_open - ---- - xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -index 671e8a5..7021031 100644 ---- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -@@ -554,7 +554,6 @@ bool CDecoder::Open(AVCodecContext* avctx, const enum PixelFormat fmt, unsigned - } - - avctx->hwaccel_context = &m_hwContext; -- avctx->thread_count = 1; - avctx->get_buffer2 = CDecoder::FFGetBuffer; - avctx->slice_flags = SLICE_FLAG_CODED_ORDER|SLICE_FLAG_ALLOW_FIELD; - return true; --- -2.0.3 - - -From 8e2ba85b190fd11a5e3d360c63fd0ec98b70ac6b Mon Sep 17 00:00:00 2001 +From eac4c134fa62021edabfeba52a3a680c7722deb0 Mon Sep 17 00:00:00 2001 From: xhaggi Date: Tue, 22 Jul 2014 11:45:53 +0200 -Subject: [PATCH 30/31] [builtins] don't activate an already active window +Subject: [PATCH 27/29] [builtins] don't activate an already active window --- xbmc/interfaces/Builtins.cpp | 36 +++++++++++++++++++++--------------- @@ -7598,3 +7508,57 @@ index 1816851..af6a6fd 100644 else -- 2.0.3 + + +From 172d51ad45e6469724ca7a16502e8bce4c3dd28f 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 + max_analyze_duration) + +--- + xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +index e388ecf..a8e1f7a 100644 +--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp ++++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +@@ -410,7 +410,7 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo) + + if (iformat && (strcmp(iformat->name, "mpegts") == 0)) + { +- m_pFormatContext->max_analyze_duration = 500000; ++ av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0); + m_checkvideo = true; + } + +-- +2.0.3 + + +From 17a6846a544096eb6493b576d2db1bd2c1f0b7a0 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 + e98e77105895bad63e8205eaa5ea2fed94753ff1 + +--- + xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp +index 671e8a5..7021031 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp +@@ -554,7 +554,6 @@ bool CDecoder::Open(AVCodecContext* avctx, const enum PixelFormat fmt, unsigned + } + + avctx->hwaccel_context = &m_hwContext; +- avctx->thread_count = 1; + avctx->get_buffer2 = CDecoder::FFGetBuffer; + avctx->slice_flags = SLICE_FLAG_CODED_ORDER|SLICE_FLAG_ALLOW_FIELD; + return true; +-- +2.0.3 + 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 d81adcd3f1..56482ca621 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,6 +1,6 @@ -From 9c1dea43c9b9b66c48d057d3c0e44cd4a807e4dc Mon Sep 17 00:00:00 2001 +From 233c97d88577ae7758884386b5e8c49d52bdd22f Mon Sep 17 00:00:00 2001 From: Stefan Saraev -Date: Fri, 20 Dec 2013 00:36:34 +0200 +Date: Sun, 3 Aug 2014 13:00:06 +0300 Subject: [PATCH] service addons: use a wrapper to setup systemd --- @@ -10,7 +10,7 @@ Subject: [PATCH] service addons: use a wrapper to setup systemd 3 files changed, 15 insertions(+) diff --git a/xbmc/addons/AddonDatabase.cpp b/xbmc/addons/AddonDatabase.cpp -index 4202363..105749f 100644 +index 51a8da8..deedb04 100644 --- a/xbmc/addons/AddonDatabase.cpp +++ b/xbmc/addons/AddonDatabase.cpp @@ -20,6 +20,7 @@ @@ -21,7 +21,7 @@ index 4202363..105749f 100644 #include "utils/log.h" #include "utils/Variant.h" #include "utils/StringUtils.h" -@@ -581,6 +582,7 @@ bool CAddonDatabase::DisableAddon(const CStdString &addonID, bool disable /* = t +@@ -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(); @@ -29,7 +29,7 @@ index 4202363..105749f 100644 } // 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 && -@@ -601,6 +603,7 @@ bool CAddonDatabase::DisableAddon(const CStdString &addonID, bool disable /* = t +@@ -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) { @@ -38,7 +38,7 @@ index 4202363..105749f 100644 if (service) service->Start(); diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp -index 8c9f241..d2f4610 100644 +index b410d6c..d33f8a6 100644 --- a/xbmc/addons/AddonInstaller.cpp +++ b/xbmc/addons/AddonInstaller.cpp @@ -70,6 +70,13 @@ CAddonInstaller &CAddonInstaller::Get() @@ -55,23 +55,23 @@ index 8c9f241..d2f4610 100644 void CAddonInstaller::OnJobComplete(unsigned int jobID, bool success, CJob* job) { if (success) -@@ -586,6 +593,7 @@ bool CAddonInstallJob::OnPreInstall() - boost::shared_ptr service = boost::dynamic_pointer_cast(addon); - if (service) - service->Stop(); -+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), true); - CAddonMgr::Get().RemoveAddon(m_addon->ID()); // remove it - return running; - } -@@ -713,6 +721,7 @@ void CAddonInstallJob::OnPostInstall(bool reloadAddon) - AddonPtr addon; - CAddonMgr::Get().GetAddon(m_addon->ID(), addon); - boost::shared_ptr service = boost::dynamic_pointer_cast(addon); -+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), false); +@@ -644,6 +651,7 @@ bool CAddonInstallJob::OnPreInstall() + boost::shared_ptr service = boost::dynamic_pointer_cast(localAddon); if (service) - service->Start(); + service->Stop(); ++ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), true); } -@@ -794,6 +803,7 @@ bool CAddonUnInstallJob::DoWork() + 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(); @@ -80,10 +80,10 @@ index 8c9f241..d2f4610 100644 AddonPtr repoPtr = CAddonInstallJob::GetRepoForAddon(m_addon); diff --git a/xbmc/addons/AddonInstaller.h b/xbmc/addons/AddonInstaller.h -index 39cab93..2938c7f 100644 +index ab93a2f..7d62b5b 100644 --- a/xbmc/addons/AddonInstaller.h +++ b/xbmc/addons/AddonInstaller.h -@@ -29,6 +29,8 @@ class CAddonInstaller : public IJobCallback +@@ -38,6 +38,8 @@ class CAddonInstaller : public IJobCallback public: static CAddonInstaller &Get(); @@ -91,7 +91,7 @@ index 39cab93..2938c7f 100644 + bool IsDownloading() const; void GetInstallList(ADDON::VECADDONS &addons) const; - bool GetProgress(const CStdString &addonID, unsigned int &percent) const; + bool GetProgress(const std::string &addonID, unsigned int &percent) const; -- -1.8.3.2 +1.9.1 diff --git a/packages/mediacenter/xbmc/patches/xbmc-999.04-bye-bye-libflac.patch b/packages/mediacenter/xbmc/patches/xbmc-999.04-bye-bye-libflac.patch index 6e3a6f1822..1b4126c743 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-999.04-bye-bye-libflac.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-999.04-bye-bye-libflac.patch @@ -1,16 +1,17 @@ -From 4b7c1455582ccb6f8979681b4baed93d2852140c Mon Sep 17 00:00:00 2001 +From 0e26e69497c0977f6a0efbf48d199f6313c539cf Mon Sep 17 00:00:00 2001 From: Stefan Saraev -Date: Fri, 11 Jul 2014 19:37:12 +0300 +Date: Sun, 3 Aug 2014 13:03:44 +0300 Subject: [PATCH] bye bye libflac --- configure.in | 3 --- 1 file changed, 3 deletions(-) -diff -Naur xbmc-14-67f025d/configure.in xbmc-14-67f025d.patch/configure.in ---- xbmc-14-67f025d/configure.in 2014-07-25 06:45:49.000000000 +0200 -+++ xbmc-14-67f025d.patch/configure.in 2014-07-25 06:54:20.396754173 +0200 -@@ -1056,7 +1056,6 @@ +diff --git a/configure.in b/configure.in +index a9d5f46..702f086 100644 +--- a/configure.in ++++ b/configure.in +@@ -1056,7 +1056,6 @@ AC_CHECK_HEADER([jpeglib.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([ogg/ogg.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([vorbis/vorbisfile.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([libmodplug/modplug.h],, AC_MSG_ERROR($missing_library)) @@ -18,7 +19,7 @@ diff -Naur xbmc-14-67f025d/configure.in xbmc-14-67f025d.patch/configure.in AC_CHECK_HEADER([curl/curl.h],, AC_MSG_ERROR($missing_library)) XB_FIND_SONAME([CURL], [curl]) -@@ -1219,7 +1218,6 @@ +@@ -1219,7 +1218,6 @@ fi fi XB_FIND_SONAME([OGG], [ogg]) @@ -26,7 +27,7 @@ diff -Naur xbmc-14-67f025d/configure.in xbmc-14-67f025d.patch/configure.in XB_FIND_SONAME([VORBIS], [vorbis]) XB_FIND_SONAME([VORBISFILE], [vorbisfile]) XB_FIND_SONAME([MODPLUG], [modplug]) -@@ -2596,7 +2594,6 @@ +@@ -2596,7 +2594,6 @@ AC_SUBST(OUTPUT_FILES) AC_SUBST(HAVE_XBMC_NONFREE) AC_SUBST(USE_ASAP_CODEC) AC_SUBST(LIBCURL_BASENAME) @@ -34,3 +35,6 @@ diff -Naur xbmc-14-67f025d/configure.in xbmc-14-67f025d.patch/configure.in AC_SUBST(LIBVORBISFILE_BASENAME) AC_SUBST(LIBMODPLUG_BASENAME) AC_SUBST(LIBOGG_BASENAME) +-- +1.9.1 + diff --git a/packages/mediacenter/xbmc/patches/xbmc-999.99.01-PR5107.patch b/packages/mediacenter/xbmc/patches/xbmc-999.99.01-PR5107.patch deleted file mode 100644 index d7a62442d5..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-999.99.01-PR5107.patch +++ /dev/null @@ -1,36 +0,0 @@ -From e86491994f73d0d9fbf5087429ad122fc5fb9f5b Mon Sep 17 00:00:00 2001 -From: fritsch -Date: Sun, 27 Jul 2014 17:46:42 +0200 -Subject: [PATCH] SWCodec: Add VP9 as pure sw decoder to use multithreading - ---- - xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -index 0d4dcd5..2db5d99 100644 ---- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -@@ -210,7 +210,8 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options - break; - } - } -- else if (hints.codec == AV_CODEC_ID_HEVC) -+ else if (hints.codec == AV_CODEC_ID_HEVC -+ || hints.codec == AV_CODEC_ID_VP9) - m_isSWCodec = true; - - if(pCodec == NULL) -@@ -295,7 +296,8 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options - if( num_threads > 1 && !hints.software && m_pHardware == NULL // thumbnail extraction fails when run threaded - && ( pCodec->id == AV_CODEC_ID_H264 - || pCodec->id == AV_CODEC_ID_MPEG4 -- || pCodec->id == AV_CODEC_ID_HEVC)) -+ || pCodec->id == AV_CODEC_ID_HEVC -+ || pCodec->id == AV_CODEC_ID_VP9)) - m_pCodecContext->thread_count = num_threads; - - if (avcodec_open2(m_pCodecContext, pCodec, NULL) < 0) --- -1.9.3 -