xbmc: update to xbmc-14-68ef36a

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2014-09-14 18:06:43 +02:00
parent 029c95193a
commit 25f97cd8b9
5 changed files with 66 additions and 335 deletions

View File

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

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="xbmc"
PKG_VERSION="14-f78c550"
PKG_VERSION="14-68ef36a"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,7 +1,7 @@
From 092b9619c6f3aedac2024ca29942858001d94986 Mon Sep 17 00:00:00 2001
From 03694dfeabfb6b2adf39da60cfe17a1a0730545f Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <margro.xbmc@gmail.com>
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 <w.haupt@at-visions.com>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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() )

View File

@ -1,92 +0,0 @@
From 13519e92f7db6a15c0171a229420f528b317507e Mon Sep 17 00:00:00 2001
From: "Chris \"Koying\" Browet" <cbro@semperpax.com>
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" <cbro@semperpax.com>
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

View File

@ -2437,97 +2437,6 @@ index 4e51166..8ed8eec 100644
levelNames[logLevel]) + strData;
From 3d1e720a7b09297dacb25e5bd71c7b3e6f4459f1 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
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 <popcornmix@gmail.com>
Date: Sat, 8 Mar 2014 15:36:06 +0000