xbmc: update to xbmc-14-3f20fb2

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2014-08-03 22:31:06 +02:00
parent 3df253529b
commit 50fbf7230f
6 changed files with 204 additions and 272 deletions

View File

@ -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"

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="xbmc"
PKG_VERSION="14-6f26fca"
PKG_VERSION="14-3f20fb2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,7 +1,7 @@
From 88407b12f16fd9b37ac4fb0ef4fc01d4220d15fa Mon Sep 17 00:00:00 2001
From 1a5f6373ff6b5c9b102978ae23bb3015e09c2ca6 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <margro.xbmc@gmail.com>
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 <w.haupt@at-visions.com>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <Peter.Fruehberger@gmail.com>
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 <Peter.Fruehberger@gmail.com>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <sascha.woo@gmail.com>
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 <fernetmenta@online.de>
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 <peter.fruehberger@gmail.com>
Date: Sun, 3 Aug 2014 17:18:08 +0200
Subject: [PATCH 29/29] VAAPI: fixup don't cause deadlock squash into
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

View File

@ -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 <stefan@saraev.ca>
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<CService> service = boost::dynamic_pointer_cast<CService>(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<CService> service = boost::dynamic_pointer_cast<CService>(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<CService> service = boost::dynamic_pointer_cast<CService>(addon);
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), false);
@@ -644,6 +651,7 @@ bool CAddonInstallJob::OnPreInstall()
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(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<CService> service = boost::dynamic_pointer_cast<CService>(localAddon);
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), false);
if (service)
service->Start();
}
@@ -840,6 +849,7 @@ bool CAddonUnInstallJob::DoWork()
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(m_addon);
if (service)
service->Stop();
@ -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

View File

@ -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 <stefan@saraev.ca>
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

View File

@ -1,36 +0,0 @@
From e86491994f73d0d9fbf5087429ad122fc5fb9f5b Mon Sep 17 00:00:00 2001
From: fritsch <Peter.Fruehberger@gmail.com>
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