From d7328888a0d77f72d4838adaa1252ec957c97aa3 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 11 Aug 2015 05:07:27 +0200 Subject: [PATCH] projects/RPi2/patches/kodi: update RPi* support patches Signed-off-by: Stephan Raue --- .../kodi-001-isengard-rpb-backports.patch | 731 ++++++++++++++---- .../kodi-001-isengard-rpb-backports.patch | 731 ++++++++++++++---- 2 files changed, 1148 insertions(+), 314 deletions(-) diff --git a/projects/RPi/patches/kodi/kodi-001-isengard-rpb-backports.patch b/projects/RPi/patches/kodi/kodi-001-isengard-rpb-backports.patch index e3696ce176..0699fba75b 100644 --- a/projects/RPi/patches/kodi/kodi-001-isengard-rpb-backports.patch +++ b/projects/RPi/patches/kodi/kodi-001-isengard-rpb-backports.patch @@ -1,7 +1,7 @@ -From 132222ecf736483f8a28e3bcc79e203d2472f69f Mon Sep 17 00:00:00 2001 +From fca20ce71da054984d648316b362c9318dfeab10 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 18:19:32 +0100 -Subject: [PATCH 01/78] [rbp/omxplayer] When opening a stream don't try to +Subject: [PATCH 01/87] [rbp/omxplayer] When opening a stream don't try to update gui so often --- @@ -25,10 +25,10 @@ index 318ecec..59698f6 100644 g_windowManager.ProcessRenderLoop(false); if (allowCancel && dialog->IsCanceled()) -From fbca4865a19906cb3e97c9322608ab095b12c9f7 Mon Sep 17 00:00:00 2001 +From cda1cae0c13be8b8db75d61f64879291a994426c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Mar 2014 15:36:06 +0000 -Subject: [PATCH 03/78] [hifiberry] Hack: force it to be recognised as IEC958 +Subject: [PATCH 03/87] [hifiberry] Hack: force it to be recognised as IEC958 capable to enable passthrough options --- @@ -51,10 +51,10 @@ index e22db7a..0120bd5 100644 info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI") { -From cc8731845cea144fc5de5192c54ae6fba29bfa52 Mon Sep 17 00:00:00 2001 +From b8992693e016eed3d5e89ddc437aa4c59b561d13 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 1 May 2014 16:28:39 +0100 -Subject: [PATCH 04/78] Improved file buffering in CArchive +Subject: [PATCH 04/87] Improved file buffering in CArchive Even though memcpy is typically inlined by the compiler into byte/word loads and stores (at least for release builds), the frequency with which 1, 2 and 4 @@ -114,17 +114,17 @@ index 6ed0f8f..8506d95 100644 } else -From 850fc8907cffcf06cd9be909bd810bbd241e3886 Mon Sep 17 00:00:00 2001 +From 396257e8ed99f16e3088a650f47d1356410ae912 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 12 Aug 2014 00:31:36 +0100 -Subject: [PATCH 05/78] [omxcodec] Don't force software codec with dvds +Subject: [PATCH 05/87] [omxcodec] Don't force software codec with dvds --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index 9f45a22..e702c35 100644 +index 7c84557..87463a7 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -3417,7 +3417,9 @@ bool CDVDPlayer::OpenVideoStream(CDVDStreamInfo& hint, bool reset) @@ -138,10 +138,10 @@ index 9f45a22..e702c35 100644 else if (m_pInputStream && m_pInputStream->IsStreamType(DVDSTREAM_TYPE_PVRMANAGER)) { -From a38ae3033670378db15e94fa36e7f6bbd5bb0e6d Mon Sep 17 00:00:00 2001 +From c44cf37f3ab1c1b836044c503f51609190c6d1cc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 10 Aug 2014 16:45:16 +0100 -Subject: [PATCH 06/78] filesystem: Make support of browsing into archives +Subject: [PATCH 06/87] filesystem: Make support of browsing into archives optional The ability to browse, scan and play content in archives can cause problems on low powered/low memory devices. @@ -224,10 +224,10 @@ index 5af92e7..568a1a8 100644 { // XBMC Smart playlist - just XML renamed to XSP // read the name of the playlist in -From 559b4641f94a1cac143b83562a3ed2d1c4839842 Mon Sep 17 00:00:00 2001 +From 39ca696d7683f645fab217a4971e8f884f0f4bfc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 13:06:57 +0000 -Subject: [PATCH 08/78] [rbp] Make cachemembuffersize default depend on memory +Subject: [PATCH 08/87] [rbp] Make cachemembuffersize default depend on memory size --- @@ -328,10 +328,12 @@ index 2e3282c..d1606a2 100644 m_initialized = true; } -From 3a76692d6b72eb5a96d2a9ad59085938a8034c1c Mon Sep 17 00:00:00 2001 + + +From f9d47dcf9d04a28308404a77b516e28d57b97f2a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 30 May 2014 14:58:43 +0100 -Subject: [PATCH 10/78] [settings] Experiment: Report DESKTOP resolution in +Subject: [PATCH 10/87] [settings] Experiment: Report DESKTOP resolution in video settings --- @@ -353,10 +355,10 @@ index 4376463..fc4e5ea 100644 StringUtils::Format("%dx%d%s", resolution->width, resolution->height, ModeFlagsToString(resolution->flags, false).c_str()), -From 7d47259501b8e78a4488b3c77d301dc3092da768 Mon Sep 17 00:00:00 2001 +From 76c5fd374e30835b61684da8a62ed6c6ddefa4cb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Sep 2014 12:04:26 +0100 -Subject: [PATCH 11/78] egl: Treat unknown display aspect ratio as square pixel +Subject: [PATCH 11/87] egl: Treat unknown display aspect ratio as square pixel --- xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 4 ++-- @@ -385,10 +387,10 @@ index bda7430..68fc647 100644 SetResolutionString(m_desktopRes); -From 84167d1a7f7dc96ac0af89c9a1c29845e55b9265 Mon Sep 17 00:00:00 2001 +From af06dc9a5a99bcf774a760bf46f88989ae03c6c4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 19 Sep 2014 11:54:49 +0100 -Subject: [PATCH 12/78] [dvdplayer/rbp] Add pi specific option to maintain +Subject: [PATCH 12/87] [dvdplayer/rbp] Add pi specific option to maintain vsync with pll adjustment New A/V sync option in settings/video/playback to do "Adjust PLL". @@ -680,10 +682,10 @@ index 7df1bf7..732b69d 100644 float m_audioPlayCountMinimumPercent; bool m_dvdplayerIgnoreDTSinWAV; -From 3cd283fec4a380188697c9f576e3f30debdb3481 Mon Sep 17 00:00:00 2001 +From 855155cecdc39ff1586f84cec624bdbc1689ad41 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 24 Sep 2014 23:13:52 +0100 -Subject: [PATCH 13/78] [audio] Add settings option to boost centre channel +Subject: [PATCH 13/87] [audio] Add settings option to boost centre channel when downmixing This allows a dB volume increase to be added to centre channel. @@ -805,10 +807,10 @@ index f99c0e6..1911189 100644 // stereo upmix if (upmix && m_src_channels == 2 && m_dst_channels > 2) -From 1d5a34df606f823333a0b4f0c9fdde54910c0e5f Mon Sep 17 00:00:00 2001 +From e46c99c1b4d75dd9f162d80c9cec1ebf1a8d3074 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 15:23:51 +0000 -Subject: [PATCH 14/78] [rbp] Default extract thumbnails to false +Subject: [PATCH 14/87] [rbp] Default extract thumbnails to false It can take 80 seconds for a single file on a Pi. It can cause crashes with out-of-memory errors. It genereates a lot of support issues. Best to default to disabled and let users enable it if they must @@ -838,10 +840,10 @@ index 50fe36a..a54a4c4 100644
-From d15976f38c7a551134ffff9b92a45e9e167634b0 Mon Sep 17 00:00:00 2001 +From b860125828104f62039468f8af95cd8b82fedaa5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 10 Feb 2015 15:29:16 +0000 -Subject: [PATCH 15/78] [libcec] Add repeating keypress patch from popcornmix' +Subject: [PATCH 15/87] [libcec] Add repeating keypress patch from popcornmix' repo --- @@ -1728,10 +1730,10 @@ index 0000000..8366a69 +1.9.1 + -From 48f3222f1cc3eb51884018918c8c652a99cef2a7 Mon Sep 17 00:00:00 2001 +From b55caa265c7481aaf12c99eaa3e051197492a16b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Oct 2014 00:19:40 +0000 -Subject: [PATCH 16/78] [cec] Add settings for configuring button repeats +Subject: [PATCH 16/87] [cec] Add settings for configuring button repeats --- addons/resource.language.en_gb/resources/strings.po | 15 +++++++++++++++ @@ -1812,10 +1814,10 @@ index ea702e5..b5ff693 100644 void CPeripheralCecAdapter::ReadLogicalAddresses(const std::string &strString, cec_logical_addresses &addresses) -From 1976d9680172ac8af7f543d952a8a9785e52ae6d Mon Sep 17 00:00:00 2001 +From f8b7ec7f762de88902378187148e437589c09e8c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Nov 2014 23:17:46 +0000 -Subject: [PATCH 17/78] [cec] Don't discard buttons when repeat mode is enabled +Subject: [PATCH 17/87] [cec] Don't discard buttons when repeat mode is enabled --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 5 ++++- @@ -1838,10 +1840,10 @@ index b5ff693..6086bf5 100644 if (m_currentButton.iButton == key.iButton && m_currentButton.iDuration == 0) { -From 39d8231d117444c81d96d79e38d23458e18d81ec Mon Sep 17 00:00:00 2001 +From d36c6702a3f695ba90ab7bc60498a57f32c6eff2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 4 Nov 2014 18:50:00 +0000 -Subject: [PATCH 18/78] [cec] Temp - more logging +Subject: [PATCH 18/87] [cec] Temp - more logging --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 8 +++++++- @@ -1893,10 +1895,10 @@ index 6086bf5..417b0d8 100644 } -From 5a250e44c87f1d6537bac25a0aba6d87c2ff9495 Mon Sep 17 00:00:00 2001 +From f4d93cf45c5ad5666ce31589c879ae2c3bfbfa0c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 15 Nov 2014 12:03:34 +0000 -Subject: [PATCH 19/78] [dvdplayer] Add lock for player creation +Subject: [PATCH 19/87] [dvdplayer] Add lock for player creation --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 3 +++ @@ -1904,7 +1906,7 @@ Subject: [PATCH 19/78] [dvdplayer] Add lock for player creation 2 files changed, 4 insertions(+) diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index e702c35..8252192 100644 +index 87463a7..0ceae20 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -517,6 +517,7 @@ int CSelectionStreams::CountSource(StreamType type, StreamSource source) const @@ -1942,10 +1944,10 @@ index ab6a228..32e76c1 100644 + CCriticalSection m_players_lock; }; -From 0598120209d780b0aef824f45fc03d2c085459c6 Mon Sep 17 00:00:00 2001 +From 1f158cf501be9af72c54013f6ba3d888028fd3d2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 24 Nov 2014 22:07:25 +0000 -Subject: [PATCH 20/78] [dvdplayervideo] Prod decoder when in stills mode +Subject: [PATCH 20/87] [dvdplayervideo] Prod decoder when in stills mode An asynchronous hardware decoder doesn't only produce output pictures when new packets arrive. In dvd stills mode give it a chance to return pictures that weren't ready when frame was decoded. @@ -1954,7 +1956,7 @@ In dvd stills mode give it a chance to return pictures that weren't ready when f 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp -index cbfefe0..fe3b2c2 100644 +index 46fa635..03c876d 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -314,7 +314,8 @@ void CDVDPlayerVideo::Process() @@ -2022,10 +2024,10 @@ index cbfefe0..fe3b2c2 100644 if (pMsg->IsType(CDVDMsg::GENERAL_SYNCHRONIZE)) -From 0022598c8beb8f6dce97ca959a66348e7d498a97 Mon Sep 17 00:00:00 2001 +From 679035ea691e5269b7f5b26f6e5f4dd42f243da9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 27 Nov 2014 16:31:56 +0000 -Subject: [PATCH 21/78] [languageinvoker] Reduce priority of python threads +Subject: [PATCH 21/87] [languageinvoker] Reduce priority of python threads --- xbmc/interfaces/generic/LanguageInvokerThread.cpp | 5 +++++ @@ -2048,10 +2050,10 @@ index fcdd063..16f0c89 100644 } -From 9a26e5bba11a26b9437a93cfbc1e55ccc3245170 Mon Sep 17 00:00:00 2001 +From 7c15df684d52221699e7056034efa4c6584caaeb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Dec 2013 16:55:05 +0000 -Subject: [PATCH 22/78] logging: Add microsecond timer to log messages +Subject: [PATCH 22/87] logging: Add microsecond timer to log messages --- xbmc/utils/log.cpp | 17 +++++++++++++++-- @@ -2104,10 +2106,10 @@ index 3443f12..31c4a99 100644 levelNames[logLevel]) + strData; -From 38d419b7cc3e0fe22602ec0819f089583e349952 Mon Sep 17 00:00:00 2001 +From 1a8b62644004d8e07141ce19bd439edc3415b7e1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 29 Nov 2014 15:25:16 +0000 -Subject: [PATCH 23/78] [rbp] hack: wait for splash to complete before changing +Subject: [PATCH 23/87] [rbp] hack: wait for splash to complete before changing hdmi mode --- @@ -2181,10 +2183,10 @@ index 68fc647..c80114e 100644 if(!m_fixedMode && GETFLAGS_GROUP(res.dwFlags) && GETFLAGS_MODE(res.dwFlags)) -From 83db1723e20ced83b80e352a5d2154ecea953100 Mon Sep 17 00:00:00 2001 +From 1c92686897b4c799e85aa878ec9f2d5b940533f6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 11 Dec 2014 17:00:57 +0000 -Subject: [PATCH 24/78] Fix for UI not showing both extractflags and +Subject: [PATCH 24/87] Fix for UI not showing both extractflags and extractthumb --- @@ -2248,10 +2250,10 @@ index 4843ab8..f1cbefa 100644 -From 0f830a21ca9227d80e8caae04ff11b7bae247298 Mon Sep 17 00:00:00 2001 +From 6e4957a0b614a4e8db33849e52606052e8db9708 Mon Sep 17 00:00:00 2001 From: anaconda Date: Thu, 11 Sep 2014 21:30:43 +0200 -Subject: [PATCH 25/78] Disable autoscrolling while on screensaver and while +Subject: [PATCH 25/87] Disable autoscrolling while on screensaver and while opening streams. --- @@ -2264,10 +2266,10 @@ Subject: [PATCH 25/78] Disable autoscrolling while on screensaver and while 6 files changed, 24 insertions(+), 3 deletions(-) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 697f278..a2a7fd2 100644 +index 36e3b97..136eade 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -4996,3 +4996,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const +@@ -4988,3 +4988,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const return false; } @@ -2282,10 +2284,10 @@ index 697f278..a2a7fd2 100644 + return onBlackDimScreenSaver || openingStreams; +} diff --git a/xbmc/Application.h b/xbmc/Application.h -index 4b50ab2..07a5da2 100644 +index fe92b99..5e24c97 100644 --- a/xbmc/Application.h +++ b/xbmc/Application.h -@@ -389,6 +389,8 @@ class CApplication : public CXBApplicationEx, public IPlayerCallback, public IMs +@@ -385,6 +385,8 @@ class CApplication : public CXBApplicationEx, public IPlayerCallback, public IMs */ void UnregisterActionListener(IActionListener *listener); @@ -2361,7 +2363,7 @@ index 759ac09..bed6ad2 100644 else { diff --git a/xbmc/guilib/GUITextBox.cpp b/xbmc/guilib/GUITextBox.cpp -index dd78377..6b731e2 100644 +index 2cdbf1c..42be75d 100644 --- a/xbmc/guilib/GUITextBox.cpp +++ b/xbmc/guilib/GUITextBox.cpp @@ -23,6 +23,7 @@ @@ -2382,10 +2384,10 @@ index dd78377..6b731e2 100644 if (m_lastRenderTime) m_autoScrollDelayTime += currentTime - m_lastRenderTime; -From b1843145fb9ab380c34fb8d85969c01228c74249 Mon Sep 17 00:00:00 2001 +From 00ad89f5921ee884ddbf242897809e95a4291587 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 13 Dec 2014 18:35:20 +0000 -Subject: [PATCH 26/78] [demuxer] Avoid memcpy on every demuxer packet +Subject: [PATCH 26/87] [demuxer] Avoid memcpy on every demuxer packet Avoids an unnecessary memcpy on every demuxer packet which for high bitrate videos can be significant. @@ -2480,10 +2482,10 @@ index ab298b2..10c5ee0 100644 } catch(...) { -From e73b4ea6dc1b545c381dc516e804f8079da37f7b Mon Sep 17 00:00:00 2001 +From 1a5db9af3595fed5b65c3557d6022cee3c254f1c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 15 Feb 2015 14:06:12 +0000 -Subject: [PATCH 27/78] [mmal] Allow mmal codec for dvd stills +Subject: [PATCH 27/87] [mmal] Allow mmal codec for dvd stills --- xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp | 7 +++++++ @@ -2515,10 +2517,10 @@ index 4c363cf..b90237b 100644 { // If dvd is an mpeg2 and hint.stills -From acb552f04e57174607dc946fae1916e6f4092d45 Mon Sep 17 00:00:00 2001 +From bb4863764efb8eeb96dd788fd35ee901fe0a4d9a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 31 Mar 2015 17:31:47 +0100 -Subject: [PATCH 28/78] [mmalrenderer] Add SetCodecControl function and prefer +Subject: [PATCH 28/87] [mmalrenderer] Add SetCodecControl function and prefer to return pictures when renderer is low (disabled) --- @@ -2589,10 +2591,10 @@ index 51a64d1..bde8c06 100644 CCriticalSection m_sharedSection; MMAL_COMPONENT_T *m_dec; -From 8bf8dffb44284741978fd9492d80f3502fabe4b2 Mon Sep 17 00:00:00 2001 +From 756be12cafa7d396065a961354ef6fd0911f6a24 Mon Sep 17 00:00:00 2001 From: anaconda Date: Wed, 25 Feb 2015 18:22:21 +0100 -Subject: [PATCH 29/78] Load OSD dialogs on startup. +Subject: [PATCH 29/87] Load OSD dialogs on startup. Fixes skipped frames the first time they're loaded in memory on less powered devices, like a Raspberry Pi, when using DVDPlayer. @@ -2607,10 +2609,10 @@ See http://forum.kodi.tv/showthread.php?tid=211501&pid=1938811#pid1938811 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp -index 1194d4c..82b980f 100644 +index 0aaeebc..200dc5f 100644 --- a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp +++ b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp -@@ -45,6 +45,7 @@ CGUIDialogPVRChannelsOSD::CGUIDialogPVRChannelsOSD() : +@@ -48,6 +48,7 @@ CGUIDialogPVRChannelsOSD::CGUIDialogPVRChannelsOSD() : CGUIDialog(WINDOW_DIALOG_PVR_OSD_CHANNELS, "DialogPVRChannelsOSD.xml"), Observer() { @@ -2687,10 +2689,10 @@ index 9f25fa5..3ece45b 100644 CGUIDialogVideoSettings::~CGUIDialogVideoSettings() { } -From a94b96aed5604f9612ab5cf13f6aecd44dba8ffb Mon Sep 17 00:00:00 2001 +From 8abb0782a608715a9d059e832f18587969bb4303 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 7 Mar 2015 22:46:21 +0000 -Subject: [PATCH 30/78] configure: Add raspberry-pi2 platform +Subject: [PATCH 30/87] configure: Add raspberry-pi2 platform --- configure.ac | 14 +++++++-- @@ -2864,10 +2866,10 @@ index cdc2fe4..379bd1d 100644 set(CMAKE_SYSTEM_NAME Linux) endif() -From 25ca4c7c98f464dfcea7e70e589f21297fab2713 Mon Sep 17 00:00:00 2001 +From 54133f8d1b482256cad949b3cfd651e2732bf218 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 10 Mar 2015 17:05:18 +0000 -Subject: [PATCH 31/78] [players] Add settings option to enable MVC support +Subject: [PATCH 31/87] [players] Add settings option to enable MVC support --- addons/resource.language.en_gb/resources/strings.po | 10 ++++++++++ @@ -2948,10 +2950,10 @@ index e4f6d86..5d324f4 100644 case AV_CODEC_ID_MPEG4: // (role name) video_decoder.mpeg4 -From 8daeaefb1120ce7ff4a5ed29c32dfeba07a8d7e0 Mon Sep 17 00:00:00 2001 +From 50a6e59c7f8e393d93f569ab53486c9d4fbf4308 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Mar 2015 12:38:08 +0000 -Subject: [PATCH 32/78] [mmalrenderer] Switch to using transform flags for 3d +Subject: [PATCH 32/87] [mmalrenderer] Switch to using transform flags for 3d modes --- @@ -3330,10 +3332,11 @@ index c80114e..3816b55 100644 CLog::Log(LOGDEBUG, "EGL set resolution %dx%d -> %dx%d @ %.2f fps (%d,%d) flags:%x aspect:%.2f\n", m_width, m_height, dst_rect.width, dst_rect.height, res.fRefreshRate, GETFLAGS_GROUP(res.dwFlags), GETFLAGS_MODE(res.dwFlags), (int)res.dwFlags, res.fPixelRatio); -From 16c142faadaa31be66a296796daa6d6ac40b0cad Mon Sep 17 00:00:00 2001 + +From 02ab1526a5e8a6e60d59bf5f3ad285110ff66d5d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 14 Apr 2015 20:51:14 +0100 -Subject: [PATCH 35/78] [gui] Also limit GUI updates when in non full-screen +Subject: [PATCH 35/87] [gui] Also limit GUI updates when in non full-screen video mode --- @@ -3341,10 +3344,10 @@ Subject: [PATCH 35/78] [gui] Also limit GUI updates when in non full-screen 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index a2a7fd2..95ec768 100644 +index 136eade..763c1c6 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -2507,7 +2507,7 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) +@@ -2499,7 +2499,7 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) #if defined(TARGET_RASPBERRY_PI) || defined(HAS_IMXVPU) // This code reduces rendering fps of the GUI layer when playing videos in fullscreen mode // it makes only sense on architectures with multiple layers @@ -3353,7 +3356,7 @@ index a2a7fd2..95ec768 100644 fps = CSettings::Get().GetInt("videoplayer.limitguiupdate"); #endif -@@ -2520,6 +2520,8 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) +@@ -2512,6 +2512,8 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) { if (!m_skipGuiRender) g_windowManager.Process(CTimeUtils::GetFrameTime()); @@ -3363,10 +3366,10 @@ index a2a7fd2..95ec768 100644 g_windowManager.FrameMove(); } -From fc48d8306d53e54cef1467ce09de7a07f223f632 Mon Sep 17 00:00:00 2001 +From 7d32b47b8d6f7f8238ad230de053b9ef74d9b169 Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:24:42 +0200 -Subject: [PATCH 36/78] Added some vc_tv_* functions that were missing in +Subject: [PATCH 36/87] Added some vc_tv_* functions that were missing in DllBCM. --- @@ -3401,10 +3404,10 @@ index b92fdb8..9c7e293 100644 HDMI_INTERLACED_T scan_mode, EDID_MODE_MATCH_FLAG_T match_flags) { return ::vc_tv_hdmi_power_on_best(width, height, frame_rate, scan_mode, match_flags); }; -From b5abdd3df0fdd4bf3efbd79fe891921cd300885a Mon Sep 17 00:00:00 2001 +From a87701ba7de5154a5ace636f12ad1d45899f3a5a Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:29:03 +0200 -Subject: [PATCH 37/78] Added private utility function to map a float display +Subject: [PATCH 37/87] Added private utility function to map a float display aspect, to the respective SDTV_ASPECT_* enum value. --- @@ -3453,10 +3456,10 @@ index 3816b55..520bf95 100644 bool CEGLNativeTypeRaspberryPI::ProbeResolutions(std::vector &resolutions) -From 1d7dac8976e95b11aa39936fd5260cd30567dcd9 Mon Sep 17 00:00:00 2001 +From c6d3ccebd34ae98f96ac2f6f28762cea9685e11a Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 19:50:58 +0200 -Subject: [PATCH 38/78] Changed SDTV resolutions to be treated similarly to +Subject: [PATCH 38/87] Changed SDTV resolutions to be treated similarly to HDMI resolutions in SetNativeResolution. This means that the SDTV interface is powered up and set to the right mode. @@ -3553,10 +3556,10 @@ index 59401f5..a0acb1a 100644 int m_width; int m_height; -From c7bfece4cf2a4febe45cf1f5beae412307e93f3a Mon Sep 17 00:00:00 2001 +From 45464218f3129a257aa9916b0bdb8967945da4ca Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 17:11:09 +0100 -Subject: [PATCH 39/78] Revert "[3D] don't back out from 3D handling on +Subject: [PATCH 39/87] Revert "[3D] don't back out from 3D handling on resolution changes if we're switching to a different 3D mode" This reverts commit 3c4c236a799dab8369b4bb74ff9993bc58a61a72. @@ -3591,10 +3594,10 @@ index bd7dff9..fc4cc95 100644 if(stereo_mode != m_stereoMode) -From c988d3d6608cd13ed2534315ed3bf730d2ddba2c Mon Sep 17 00:00:00 2001 +From fdefdbe58bbffe647f669616892257142aef76f6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 10 Jun 2015 20:42:03 +0100 -Subject: [PATCH 40/78] [rbp] Fix zoom modes with stereoscopic videos +Subject: [PATCH 40/87] [rbp] Fix zoom modes with stereoscopic videos --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 12 ++++++++++-- @@ -3650,10 +3653,10 @@ index ba17a46..298eaff 100644 if (gui != display) { -From 72029e483a5d1ff5dbf7a1eda6f02b2755bc6ed4 Mon Sep 17 00:00:00 2001 +From 2a3b2eecd8bebb09419ce6606623e664a6caf1ea Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 17:42:03 +0100 -Subject: [PATCH 41/78] [WinSystemEGL] Remove unused Support3D function +Subject: [PATCH 41/87] [WinSystemEGL] Remove unused Support3D function --- xbmc/windowing/egl/WinSystemEGL.cpp | 29 ----------------------------- @@ -3713,10 +3716,10 @@ index 9d4baf6..1ec4225 100644 EGLConfig GetEGLConfig(); -From bbe2c4e3962048ecd493268e586b86749af9e038 Mon Sep 17 00:00:00 2001 +From d3bbcba17a08b06967098276a4e63fea1ad734c8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 16 Apr 2014 21:18:06 +0100 -Subject: [PATCH 42/78] [omxplayer] Don't propagate 3d flags based on supported +Subject: [PATCH 42/87] [omxplayer] Don't propagate 3d flags based on supported 3d modes --- @@ -3772,10 +3775,10 @@ index 298eaff..3bf7c2e 100644 unsigned int iDisplayHeight = height; -From 0a56a42e0a89375e00451fd0727742bb897f4090 Mon Sep 17 00:00:00 2001 +From babe2ddd56be4bcc0653ab16010de7e5f5d3815f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 18:52:28 +0100 -Subject: [PATCH 43/78] [3d] Avoid switching stereo mode based on current +Subject: [PATCH 43/87] [3d] Avoid switching stereo mode based on current display mode --- @@ -3815,10 +3818,10 @@ index fc4cc95..e18232e 100644 RESOLUTION_INFO info_mod = GetResInfo(res); -From a96d0b58fb180abb244b7bdd73ddca8ab5c99f9c Mon Sep 17 00:00:00 2001 +From 5a5c6740107de97d7cbce3303179c27e4f5e17b9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jun 2015 23:13:51 +0100 -Subject: [PATCH 44/78] [rpi] Always add desktop resolution to supported list +Subject: [PATCH 44/87] [rpi] Always add desktop resolution to supported list There was an assumption that the desktop resolution would be in the probed list, but that is sometimes not the case. We don't add interlaced resolutions to list, but they can be the preferred resolution read from edid. See: @@ -3887,10 +3890,10 @@ index a1f67fd..69ce9b7 100644 CLog::Log(LOGDEBUG, "EGL mode %d: %s (%.2f) %s%s:%x\n", i, res.strMode.c_str(), res.fPixelRatio, tv->native ? "N" : "", tv->scan_mode ? "I" : "", tv->code); -From 5d0ec460e72d1265a001e609618852d56918feae Mon Sep 17 00:00:00 2001 +From 76f259d5791f4dd40cd6ff6ffb4251c25496cec6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 18:53:29 +0100 -Subject: [PATCH 45/78] [rbp] Drop reporting 3D modes and just use current +Subject: [PATCH 45/87] [rbp] Drop reporting 3D modes and just use current rendering mode to request 3D signalling --- @@ -4047,10 +4050,10 @@ index 69ce9b7..25a97ad 100644 } if (supported_modes) -From ad622b30e433dcdc0ea015fd46cb75fb1c73afe4 Mon Sep 17 00:00:00 2001 +From 6b731b58c0cd53ba599eab0dab2e3011fbc43425 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 30 Jun 2015 14:08:24 +0100 -Subject: [PATCH 46/78] [rbp] Ignore video stereo mode when 3D display mode is +Subject: [PATCH 46/87] [rbp] Ignore video stereo mode when 3D display mode is disabled --- @@ -4089,10 +4092,10 @@ index 3bf7c2e..5f6b402 100644 if (m_hints.orientation == 90 || m_hints.orientation == 270) { -From 78f4bccdbd9ef9509d7a704e08359a72a49416b0 Mon Sep 17 00:00:00 2001 +From 985940529cc7737ffa0475e4b9866fd9e4763826 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 16:27:15 +0100 -Subject: [PATCH 47/78] [EGL] Don't skip out when HDMI mode is considered the +Subject: [PATCH 47/87] [EGL] Don't skip out when HDMI mode is considered the same It might have different 3D signalling. TODO: keep track of 3D signalling @@ -4114,10 +4117,10 @@ index c43c4d0..13b75b1 100644 m_bFullScreen = fullScreen; -From b7f37a646000c97a9bb5519624ec34857cb7ad42 Mon Sep 17 00:00:00 2001 +From 2ffd4421782229b8243b7c479a97c63a5e2cddde Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 21 Apr 2015 14:32:07 +0100 -Subject: [PATCH 48/78] [mmalrenderer] Add sharpness control +Subject: [PATCH 48/87] [mmalrenderer] Add sharpness control --- addons/resource.language.en_gb/resources/strings.po | 2 +- @@ -4189,17 +4192,17 @@ index 1404fb3..9bced7e 100644 CCriticalSection m_sharedSection; MMAL_COMPONENT_T *m_vout; -From bea8f5136835083a1cad4f7afdaad417d7c9d2ec Mon Sep 17 00:00:00 2001 +From 08d327c3400b158eae3395ca17335ea53d7127c2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Apr 2015 13:49:51 +0100 -Subject: [PATCH 49/78] [dvdplayer] Add back required include +Subject: [PATCH 49/87] [dvdplayer] Add back required include --- xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp -index fe3b2c2..73e9ce6 100644 +index 03c876d..c1ef9d4 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -33,6 +33,7 @@ @@ -4211,10 +4214,10 @@ index fe3b2c2..73e9ce6 100644 #include "guilib/GraphicContext.h" #include -From 57bd1fdf720099a9614cb65404800b093e59677e Mon Sep 17 00:00:00 2001 +From 5c54e70d72c67d2bf1fdb6bbc9ae94ea0a2e26bf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 May 2015 23:58:06 +0100 -Subject: [PATCH 50/78] [screensaver] Leave GUI contents available for +Subject: [PATCH 50/87] [screensaver] Leave GUI contents available for screensaver --- @@ -4244,10 +4247,10 @@ index 6030c4c..ccc2922 100644 // Add window to the history list (we must do this before we activate it, -From 8e48a3c37e540fba692b6c4cc1d1a900b973f6de Mon Sep 17 00:00:00 2001 +From 196fc171b98cc35a41b10e9adcbd6adecb9638a2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 15 May 2015 14:04:11 +0100 -Subject: [PATCH 52/78] [omxplayer] Make unsupported when ac3transcode is +Subject: [PATCH 52/87] [omxplayer] Make unsupported when ac3transcode is enabled --- @@ -4272,10 +4275,10 @@ index eff47e0..b954276 100644 { // find video stream -From 0ba2a4632d72a370b06a633f2389d9cef26ade0b Mon Sep 17 00:00:00 2001 +From 912660eb2e987e8226f5e403545d5e8ea8bdbf9f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 1 Jun 2015 14:14:43 +0100 -Subject: [PATCH 53/78] [omximage] Don't report failed decode of progressive +Subject: [PATCH 53/87] [omximage] Don't report failed decode of progressive jpegs as as error --- @@ -4361,10 +4364,10 @@ index a43a446..890ca88 100644 } -From 1fcc7db8cdd957520fd2891efd339ca22c8041a0 Mon Sep 17 00:00:00 2001 +From 47b92523f966479950a6f836a1a641752fdbc944 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 May 2015 19:01:00 +0100 -Subject: [PATCH 54/78] [rbp] Allow settings option for timestamp preference +Subject: [PATCH 54/87] [rbp] Allow settings option for timestamp preference We currently have some files that play better with pts timestamps and some that play better with dts timestamps Provide a gui setting to allow users to adjust this behaviour until we have a better solution @@ -4438,10 +4441,10 @@ index 5f6b402..ce23bec 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From 1a903b160ef9ffe7863809dcd9823ce988b14985 Mon Sep 17 00:00:00 2001 +From 33cb5e8872ddb645f9a6cc9e7b79e337c6b44bab Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 6 Jun 2015 18:44:37 +0100 -Subject: [PATCH 55/78] [rbp] Ignore pts value when m_hints.ptsinvalid set +Subject: [PATCH 55/87] [rbp] Ignore pts value when m_hints.ptsinvalid set --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -4475,10 +4478,10 @@ index ce23bec..e17fdb8 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From ad59ec8d6c5a9ea0d19cd5811328d248c91d6fee Mon Sep 17 00:00:00 2001 +From f9f553c62aeb183dfd3e80b905cffed576673e10 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 6 Jun 2015 18:43:57 +0100 -Subject: [PATCH 56/78] ffmpeg: Automatic switch to software decode for GMC +Subject: [PATCH 56/87] ffmpeg: Automatic switch to software decode for GMC with more than one warp point --- @@ -4649,10 +4652,10 @@ index b954276..b5ee4b6 100644 else if ((hint.codec == AV_CODEC_ID_VC1 || hint.codec == AV_CODEC_ID_WMV3) && g_RBP.GetCodecWvc1()) supported = true; -From d2e8678eee1dbe76045263a5e9d4717a1b38317d Mon Sep 17 00:00:00 2001 +From 7fef3d4b4ec074297b9122231677e6ca22477ce5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 21:46:57 +0100 -Subject: [PATCH 57/78] [rbp] Use default resampling setting on Pi2 +Subject: [PATCH 57/87] [rbp] Use default resampling setting on Pi2 --- system/settings/rbp2.xml | 5 +++++ @@ -4675,10 +4678,10 @@ index b29a428..1c8b116 100644
-From 4fee25bba08a77b13f2892f587cf30ee8f402c41 Mon Sep 17 00:00:00 2001 +From c1c3ee24908f125f0de27c538104fb941a97f70c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 25 Jun 2015 19:43:10 +0100 -Subject: [PATCH 58/78] [rbp] HW mouse pointer +Subject: [PATCH 58/87] [rbp] HW mouse pointer Updating the mouse point provokes a complete screen update which can make it feel laggy and results in high cpu. @@ -5716,10 +5719,10 @@ index f6c8df0..5c2b583 100644 #endif -From 58fc811ecf11a4d58f09dd6146acf6031e17cd44 Mon Sep 17 00:00:00 2001 +From 8c2da945c14bf86a8110cadb8de8d905456bf115 Mon Sep 17 00:00:00 2001 From: Roman Kraevskiy Date: Fri, 10 Jul 2015 23:36:34 +0300 -Subject: [PATCH 59/78] Mouse wheel support for X11-less linux distros +Subject: [PATCH 59/87] Mouse wheel support for X11-less linux distros (openelec) --- @@ -5927,10 +5930,10 @@ index cf1c5ce..954d823 100644 class CLinuxInputDevices -From 6680f853007efce192edf2ce2a9b1cf88158c647 Mon Sep 17 00:00:00 2001 +From f233a279790d3b1682972724c243c7ea48b56aa2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 22:06:53 +0100 -Subject: [PATCH 60/78] [rbp] Flip default of prefer pts timestamps +Subject: [PATCH 60/87] [rbp] Flip default of prefer pts timestamps --- system/settings/rbp.xml | 2 +- @@ -5950,10 +5953,10 @@ index 8c6e69d..f9528bc 100644 -From 1bbcc8240084f5a5fdd76ed25217f0598b30da0a Mon Sep 17 00:00:00 2001 +From 3265c0a4d65cd46fa7e6e40f2c06587325a8a53f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 7 May 2015 14:28:37 +0100 -Subject: [PATCH 61/78] build: Add vcsm lib +Subject: [PATCH 61/87] build: Add vcsm lib --- configure.ac | 2 +- @@ -5973,10 +5976,10 @@ index 084c2cf..98a1b26 100644 AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library)) -From aab122b6015b5274836cb1f6e59229f21e7cc72c Mon Sep 17 00:00:00 2001 +From 711768bf07ef5cea9c30e3543fa82b45017c508a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 20 Jul 2015 16:11:37 +0100 -Subject: [PATCH 62/78] [mmalcodec] Populate the framerate of video decoder +Subject: [PATCH 62/87] [mmalcodec] Populate the framerate of video decoder When timestamps are unknown, they may be interpolated based on the framerate. Without setting this, a default of 30fps is used which may be incorrect and cause stutters @@ -6001,10 +6004,10 @@ index 3e97f1d..5b064d2 100644 error_concealment.hdr.id = MMAL_PARAMETER_VIDEO_DECODE_ERROR_CONCEALMENT; -From c448fb336cd6b7e07dae7dc0b1c357da26f2d0f5 Mon Sep 17 00:00:00 2001 +From 94b4c1a43ae53a123c5039ac94b47c5598db455b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 22 Jul 2015 22:52:46 +0100 -Subject: [PATCH 63/78] [mmalcodec] Enable interpolate timestamps +Subject: [PATCH 63/87] [mmalcodec] Enable interpolate timestamps --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -6024,10 +6027,10 @@ index 5b064d2..a202421 100644 CLog::Log(LOGERROR, "%s::%s Failed to disable interpolate timestamps mode on %s (status=%x %s)", CLASSNAME, __func__, m_dec_input->name, status, mmal_status_to_string(status)); -From e5e72775474a6c93f8dc776331e123ea77bd7e88 Mon Sep 17 00:00:00 2001 +From d65df791a54f90d38f6c905aef565c05cccb44d3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 00:55:47 +0100 -Subject: [PATCH 64/78] Revert "[rbp] Flip default of prefer pts timestamps" +Subject: [PATCH 64/87] Revert "[rbp] Flip default of prefer pts timestamps" This reverts commit 34100dcdf830a0e957df585108066c48d6c5c38d. --- @@ -6048,10 +6051,10 @@ index f9528bc..8c6e69d 100644 -From 4e8844c1c9c32823ae7ca342982e1b355dfee132 Mon Sep 17 00:00:00 2001 +From 2b3c2670323ee570e6f10164e2cc3fb78e2f31b9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 00:56:56 +0100 -Subject: [PATCH 65/78] Revert "[rbp] Allow settings option for timestamp +Subject: [PATCH 65/87] Revert "[rbp] Allow settings option for timestamp preference" This reverts commit c0eef926dd376cbf8a7857b2848e118ea3689b98. @@ -6125,10 +6128,10 @@ index e17fdb8..f06ee9c 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From 0f328c607bcbecb752f06752996146d92bfcdd7d Mon Sep 17 00:00:00 2001 +From b8058086f55b522b82ba15ad4d9f30bd8c1cd458 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 15:52:39 +0100 -Subject: [PATCH 66/78] [omxhelper] Ignore embedded coverart image when looking +Subject: [PATCH 66/87] [omxhelper] Ignore embedded coverart image when looking for supported video streams --- @@ -6148,10 +6151,11 @@ index b5ee4b6..59479fe 100644 continue; CDVDStreamInfo hint(*stream, true); -From fc3e55399cf44677546fde77958e96a455015f1c Mon Sep 17 00:00:00 2001 + +From 142b98ac1813dc78695f763f51c1516f0cfe5d2e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Jul 2015 18:39:25 +0100 -Subject: [PATCH 68/78] [mmalcodec] Don't set initial unknown timestamps to +Subject: [PATCH 68/87] [mmalcodec] Don't set initial unknown timestamps to zero This used to be done to keep the firmware happy, but is no longer required and messes with timestamp statistics @@ -6220,10 +6224,10 @@ index bde8c06..42d6a7b 100644 int m_speed; bool m_preroll; -From fa541caf9b865c84267f4173ddbbc7125891551f Mon Sep 17 00:00:00 2001 +From 9e5e289b1384d78772920dbeffcee577d8aeb99e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Jul 2015 22:53:21 +0100 -Subject: [PATCH 69/78] [mmalcodec] Tidy up setting of timestamp flags +Subject: [PATCH 69/87] [mmalcodec] Tidy up setting of timestamp flags --- xbmc/cores/omxplayer/OMXVideo.cpp | 27 ++++++++++++++------------- @@ -6277,10 +6281,10 @@ index 832a9c9..1a08aa9 100644 memcpy(omx_buffer->pBuffer, demuxer_content, omx_buffer->nFilledLen); -From 4b4e9d07037b9c8174f9e94f0fc8e613f2e69b6c Mon Sep 17 00:00:00 2001 +From 4858d812237020f71205a6ab1e0af891099f3167 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 25 Jul 2015 15:32:35 +0100 -Subject: [PATCH 70/78] [rbp] Only send changes in hw cursor state +Subject: [PATCH 70/87] [rbp] Only send changes in hw cursor state --- xbmc/linux/RBP.cpp | 9 ++++++++- @@ -6331,10 +6335,10 @@ index f233a5e..be0cafc 100644 void set_cursor(const void *pixels, int width, int height, int hotspot_x, int hotspot_y); void update_cursor(int x, int y, bool enabled); -From ba118a42fd57aea853f2a869dc93f325eb20f8cb Mon Sep 17 00:00:00 2001 +From 68935db0771fe14373c061420ffbbca5596a3a74 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Jul 2015 00:08:58 +0100 -Subject: [PATCH 71/78] [mmalcodec] Use both dts and pts for determining amount +Subject: [PATCH 71/87] [mmalcodec] Use both dts and pts for determining amount of queued data --- @@ -6397,10 +6401,10 @@ index 42d6a7b..f8f5209 100644 int m_speed; bool m_preroll; -From e2c51d36ef4283b01faf81014f6df1c328d8cd97 Mon Sep 17 00:00:00 2001 +From ddd17d3dfb6c4b2043b024ff1ee33bc6b9a3bcf0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Jul 2015 17:47:33 +0100 -Subject: [PATCH 72/78] [rbp] Refactor the vsync handle to support multiple +Subject: [PATCH 72/87] [rbp] Refactor the vsync handle to support multiple callers --- @@ -6541,10 +6545,10 @@ index be0cafc..0572b47 100644 CCriticalSection m_critSection; -From 25b97dad714c40d7f5bc254237dfe303635dfc9c Mon Sep 17 00:00:00 2001 +From 6496fa447a357d146816badb32a4510be40fcfd3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 14:06:17 +0100 -Subject: [PATCH 73/78] [mmalrenderer] Wait for vsync before submitting to mmal +Subject: [PATCH 73/87] [mmalrenderer] Wait for vsync before submitting to mmal when display sync is disabled This avoids an issue where video occasionally goes stuttery after a seek, until the next pause/play or seek. @@ -6631,10 +6635,10 @@ index 9bced7e..ec279ed 100644 + void SubmitFrame(MMAL_BUFFER_HEADER_T *buffer); }; -From 76a3c63f0af369ff0bcf906f3890b67f9d03c3ff Mon Sep 17 00:00:00 2001 +From ad9373bf960c6c7c6e5cc00c59c9dfe856a7e07f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 15:07:22 +0100 -Subject: [PATCH 74/78] [omxplayer] Support per refresh rate display latency +Subject: [PATCH 74/87] [omxplayer] Support per refresh rate display latency settings --- @@ -6659,10 +6663,10 @@ index f06ee9c..4ad66a8 100644 m_omxVideo.Decode(pPacket->pData, pPacket->iSize, dts, m_hints.ptsinvalid ? DVD_NOPTS_VALUE : pts); -From b69979329ae249cb2ba4959d0bf59dcd2838054b Mon Sep 17 00:00:00 2001 +From 3da5401ecbe5206fcaafaf44fa6a2b6e6ee01700 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 15:46:18 +0100 -Subject: [PATCH 75/78] squash: release gfx lock when blocking +Subject: [PATCH 75/87] squash: release gfx lock when blocking --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 1 + @@ -6681,10 +6685,10 @@ index 2e2bc83..c80a8a6 100644 #if defined(MMAL_DEBUG_VERBOSE) CLog::Log(LOGDEBUG, "%s::%s - done vsync:%d", CLASSNAME, __func__, m_vsyncCount); -From af3782bcc1597444ef517c6426edeab184ca7d9d Mon Sep 17 00:00:00 2001 +From d0c1c12d6dfd9b3294fbaffcb22f2a63ea83c059 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 17:34:11 +0100 -Subject: [PATCH 76/78] [rbp] Leave 3D framepacking output disabled by default +Subject: [PATCH 76/87] [rbp] Leave 3D framepacking output disabled by default --- system/settings/rbp.xml | 2 +- @@ -6704,10 +6708,10 @@ index b27d23f..bf3b05f 100644 -From 6ee5be10bfd9d9e3dd219a81191e0a5e94b4f990 Mon Sep 17 00:00:00 2001 +From 1bc742744c2910add974ae145b4d72a8133f45ea Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 17:26:30 +0100 -Subject: [PATCH 77/78] [omxplayer] Allow automatic switching back to omxplayer +Subject: [PATCH 77/87] [omxplayer] Allow automatic switching back to omxplayer after it has been disabled Omxplayer gets disabled when it is unsuitable (e.g. software decoder required, or ALSA audio or AC3 transcode). @@ -6723,7 +6727,7 @@ This patch allows a switch back to omxplayer mode 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index 8252192..f8e7570 100644 +index 0ceae20..3fea73f 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -519,10 +519,11 @@ void CDVDPlayer::CreatePlayers() @@ -6755,10 +6759,10 @@ index 59479fe..014eaf1 100644 if (!CSettings::Get().GetBool("videoplayer.usemmal")) return false; -From c0678ee3627c08eac315da9c81187cc7bd61ff62 Mon Sep 17 00:00:00 2001 +From 32d171107d2184315f18e8eb7b23a78d218f2723 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 21:05:41 +0100 -Subject: [PATCH 78/78] [omxplayer] Set audio properties for passthrough +Subject: [PATCH 78/87] [omxplayer] Set audio properties for passthrough We weren't setting the stream_channels property for passthrough for omxplayer (we do with Pi Sink) That means we were using 2 in number of channels of the AudioInfoFrame packet, rather then 0 @@ -6780,3 +6784,416 @@ index 1911189..4072f7d 100644 m_SampleRate = m_format.m_sampleRate; m_BitsPerSample = CAEUtil::DataFormatToBits(m_format.m_dataFormat); + +From d0279d2a4dade7122fa5a82b8a5c78faa95c35cb Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Fri, 31 Jul 2015 16:38:06 +0100 +Subject: [PATCH 79/87] squash: mmal: increase queue limit to 1 second to avoid + stalls + +--- + xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +index 6cf4023..7fea172 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +@@ -859,7 +859,7 @@ int CMMALVideo::Decode(uint8_t* pData, int iSize, double dts, double pts) + else if (dts != DVD_NOPTS_VALUE) + m_demuxerPts = dts; + double queued = m_decoderPts != DVD_NOPTS_VALUE && m_demuxerPts != DVD_NOPTS_VALUE ? m_demuxerPts - m_decoderPts : 0.0; +- if (mmal_queue_length(m_dec_input_pool->queue) > 0 && !m_demux_queue_length && queued <= DVD_MSEC_TO_TIME(500)) ++ if (mmal_queue_length(m_dec_input_pool->queue) > 0 && !m_demux_queue_length && queued <= DVD_MSEC_TO_TIME(1000)) + { + if (g_advancedSettings.CanLogComponent(LOGVIDEO)) + CLog::Log(LOGDEBUG, "%s::%s - got space for output: demux_queue(%d) space(%d) queued(%.2f)", CLASSNAME, __func__, m_demux_queue_length, mmal_queue_length(m_dec_input_pool->queue) * m_dec_input->buffer_size, queued*1e-6); + +From c46855572563da98e026cb088a98ca70e7fd06fb Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 6 Aug 2015 11:25:08 +0100 +Subject: [PATCH 80/87] Revert "squash: release gfx lock when blocking" + +This reverts commit f10f0af15d0b57d148f5b3556fd9f94bb2f44509. +--- + xbmc/cores/VideoRenderers/MMALRenderer.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/xbmc/cores/VideoRenderers/MMALRenderer.cpp b/xbmc/cores/VideoRenderers/MMALRenderer.cpp +index c80a8a6..2e2bc83 100644 +--- a/xbmc/cores/VideoRenderers/MMALRenderer.cpp ++++ b/xbmc/cores/VideoRenderers/MMALRenderer.cpp +@@ -367,7 +367,6 @@ void CMMALRenderer::SubmitFrame(MMAL_BUFFER_HEADER_T *buffer) + #if defined(MMAL_DEBUG_VERBOSE) + CLog::Log(LOGDEBUG, "%s::%s - buffer:%p vfps:%.3f dfps:%.3f vsync:%d dsync:%d", CLASSNAME, __func__, buffer, m_fps, g_graphicsContext.GetFPS(), m_vsyncCount, CSettings::Get().GetBool("videoplayer.usedisplayasclock")); + #endif +- CSingleExit lock(g_graphicsContext); + m_vsyncCount = g_RBP.WaitVsync(m_vsyncCount) + 1; + #if defined(MMAL_DEBUG_VERBOSE) + CLog::Log(LOGDEBUG, "%s::%s - done vsync:%d", CLASSNAME, __func__, m_vsyncCount); + +From 6b04f338107be6c497f6b0632bfd77cf4b44eb93 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 6 Aug 2015 11:25:21 +0100 +Subject: [PATCH 81/87] Revert "[mmalrenderer] Wait for vsync before submitting + to mmal when display sync is disabled" + +This reverts commit f1a4416194f75f75e2145ec3fe64aee1177d3ccc. +--- + xbmc/cores/VideoRenderers/MMALRenderer.cpp | 23 ++--------------------- + xbmc/cores/VideoRenderers/MMALRenderer.h | 2 -- + 2 files changed, 2 insertions(+), 23 deletions(-) + +diff --git a/xbmc/cores/VideoRenderers/MMALRenderer.cpp b/xbmc/cores/VideoRenderers/MMALRenderer.cpp +index 2e2bc83..fb92079 100644 +--- a/xbmc/cores/VideoRenderers/MMALRenderer.cpp ++++ b/xbmc/cores/VideoRenderers/MMALRenderer.cpp +@@ -208,7 +208,6 @@ CMMALRenderer::CMMALRenderer() + m_bMMALConfigured = false; + m_iYV12RenderBuffer = 0; + m_sharpness = -2.0f; +- m_vsyncCount = ~0; + } + + CMMALRenderer::~CMMALRenderer() +@@ -358,24 +357,6 @@ void CMMALRenderer::Update() + ManageDisplay(); + } + +-void CMMALRenderer::SubmitFrame(MMAL_BUFFER_HEADER_T *buffer) +-{ +- if (!CSettings::Get().GetBool("videoplayer.usedisplayasclock")) +- { +- if (fabs(m_fps - g_graphicsContext.GetFPS()) < 1e-2) +- { +- #if defined(MMAL_DEBUG_VERBOSE) +- CLog::Log(LOGDEBUG, "%s::%s - buffer:%p vfps:%.3f dfps:%.3f vsync:%d dsync:%d", CLASSNAME, __func__, buffer, m_fps, g_graphicsContext.GetFPS(), m_vsyncCount, CSettings::Get().GetBool("videoplayer.usedisplayasclock")); +- #endif +- m_vsyncCount = g_RBP.WaitVsync(m_vsyncCount) + 1; +- #if defined(MMAL_DEBUG_VERBOSE) +- CLog::Log(LOGDEBUG, "%s::%s - done vsync:%d", CLASSNAME, __func__, m_vsyncCount); +- #endif +- } +- } +- mmal_port_send_buffer(m_vout_input, buffer); +-} +- + void CMMALRenderer::RenderUpdate(bool clear, DWORD flags, DWORD alpha) + { + CSingleLock lock(m_sharedSection); +@@ -421,7 +402,7 @@ void CMMALRenderer::RenderUpdate(bool clear, DWORD flags, DWORD alpha) + return; + omvb->Acquire(); + omvb->mmal_buffer->flags |= MMAL_BUFFER_HEADER_FLAG_USER1 | MMAL_BUFFER_HEADER_FLAG_USER2; +- SubmitFrame(omvb->mmal_buffer); ++ mmal_port_send_buffer(m_vout_input, omvb->mmal_buffer); + } + else + CLog::Log(LOGDEBUG, "%s::%s - No buffer to update", CLASSNAME, __func__); +@@ -436,7 +417,7 @@ void CMMALRenderer::RenderUpdate(bool clear, DWORD flags, DWORD alpha) + return; + // sanity check it is not on display + buffer->mmal_buffer->flags |= MMAL_BUFFER_HEADER_FLAG_USER1 | MMAL_BUFFER_HEADER_FLAG_USER2; +- SubmitFrame(buffer->mmal_buffer); ++ mmal_port_send_buffer(m_vout_input, buffer->mmal_buffer); + } + else + CLog::Log(LOGDEBUG, "%s::%s - No buffer to update", CLASSNAME, __func__); +diff --git a/xbmc/cores/VideoRenderers/MMALRenderer.h b/xbmc/cores/VideoRenderers/MMALRenderer.h +index ec279ed..9bced7e 100644 +--- a/xbmc/cores/VideoRenderers/MMALRenderer.h ++++ b/xbmc/cores/VideoRenderers/MMALRenderer.h +@@ -99,7 +99,6 @@ class CMMALRenderer : public CBaseRenderer + unsigned int m_destWidth; + unsigned int m_destHeight; + int m_neededBuffers; +- int m_vsyncCount; + + CRect m_src_rect; + CRect m_dst_rect; +@@ -116,5 +115,4 @@ class CMMALRenderer : public CBaseRenderer + bool init_vout(ERenderFormat format); + void ReleaseBuffers(); + void UnInitMMAL(); +- void SubmitFrame(MMAL_BUFFER_HEADER_T *buffer); + }; + +From 58caaea7ca2dd3fc49aa9a1eb0ddbb59b5a8d047 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 6 Aug 2015 11:25:30 +0100 +Subject: [PATCH 82/87] Revert "[rbp] Refactor the vsync handle to support + multiple callers" + +This reverts commit 68bd91282359a9da4645af4eeead7b2842f835eb. +--- + xbmc/linux/RBP.cpp | 68 ++++++++++++++++++++++++------------------------------ + xbmc/linux/RBP.h | 7 ++---- + 2 files changed, 32 insertions(+), 43 deletions(-) + +diff --git a/xbmc/linux/RBP.cpp b/xbmc/linux/RBP.cpp +index 901250e..3953740 100644 +--- a/xbmc/linux/RBP.cpp ++++ b/xbmc/linux/RBP.cpp +@@ -66,7 +66,6 @@ CRBP::CRBP() + m_enabled = 0; + m_mb = mbox_open(); + vcsm_init(); +- m_vsync_count = 0; + } + + CRBP::~CRBP() +@@ -144,45 +143,11 @@ void CRBP::LogFirmwareVerison() + CLog::Log(LOGNOTICE, "Config:\n%s", response); + } + +-static void vsync_callback_static(DISPMANX_UPDATE_HANDLE_T u, void *arg) +-{ +- CRBP *rbp = reinterpret_cast(arg); +- rbp->VSyncCallback(); +-} +- +-void CRBP::VSyncCallback() +-{ +- CSingleLock lock(m_vsync_lock); +- m_vsync_count++; +- m_vsync_cond.notifyAll(); +-} +- +-unsigned int CRBP::WaitVsync(unsigned int target) +-{ +- CSingleLock lock(m_vsync_lock); +- if (target == ~0U) +- target = m_vsync_count+1; +- +- if (m_display == DISPMANX_NO_HANDLE) +- { +- CLog::Log(LOGDEBUG, "CRBP::%s skipping while display closed", __func__); +- return m_vsync_count; +- } +- +- while (m_vsync_count < target) +- if (!m_vsync_cond.wait(lock, 100)) +- break; +- +- return m_vsync_count; +-} +- + DISPMANX_DISPLAY_HANDLE_T CRBP::OpenDisplay(uint32_t device) + { + if (m_display == DISPMANX_NO_HANDLE) + { + m_display = vc_dispmanx_display_open( 0 /*screen*/ ); +- int s = vc_dispmanx_vsync_callback(m_display, vsync_callback_static, (void *)this); +- assert(s == 0); + init_cursor(); + } + return m_display; +@@ -191,11 +156,9 @@ DISPMANX_DISPLAY_HANDLE_T CRBP::OpenDisplay(uint32_t device) + void CRBP::CloseDisplay(DISPMANX_DISPLAY_HANDLE_T display) + { + assert(display == m_display); +- int s = vc_dispmanx_vsync_callback(m_display, NULL, NULL); +- assert(s == 0); +- uninit_cursor(); + vc_dispmanx_display_close(m_display); + m_display = DISPMANX_NO_HANDLE; ++ uninit_cursor(); + } + + void CRBP::GetDisplaySize(int &width, int &height) +@@ -248,6 +211,35 @@ unsigned char *CRBP::CaptureDisplay(int width, int height, int *pstride, bool sw + return image; + } + ++ ++static void vsync_callback(DISPMANX_UPDATE_HANDLE_T u, void *arg) ++{ ++ CEvent *sync = (CEvent *)arg; ++ sync->Set(); ++} ++ ++void CRBP::WaitVsync() ++{ ++ int s; ++ DISPMANX_DISPLAY_HANDLE_T m_display = vc_dispmanx_display_open( 0 /*screen*/ ); ++ if (m_display == DISPMANX_NO_HANDLE) ++ { ++ CLog::Log(LOGDEBUG, "CRBP::%s skipping while display closed", __func__); ++ return; ++ } ++ m_vsync.Reset(); ++ s = vc_dispmanx_vsync_callback(m_display, vsync_callback, (void *)&m_vsync); ++ if (s == 0) ++ { ++ m_vsync.WaitMSec(1000); ++ } ++ else assert(0); ++ s = vc_dispmanx_vsync_callback(m_display, NULL, NULL); ++ assert(s == 0); ++ vc_dispmanx_display_close( m_display ); ++} ++ ++ + void CRBP::Deinitialize() + { + if (m_omx_image_init) +diff --git a/xbmc/linux/RBP.h b/xbmc/linux/RBP.h +index 0572b47..be0cafc 100644 +--- a/xbmc/linux/RBP.h ++++ b/xbmc/linux/RBP.h +@@ -65,8 +65,7 @@ class CRBP + // stride can be null for packed output + unsigned char *CaptureDisplay(int width, int height, int *stride, bool swap_red_blue, bool video_only = true); + DllOMX *GetDllOMX() { return m_OMX ? m_OMX->GetDll() : NULL; } +- unsigned int WaitVsync(unsigned int target = ~0U); +- void VSyncCallback(); ++ void WaitVsync(); + double AdjustHDMIClock(double adjust); + + private: +@@ -81,9 +80,7 @@ class CRBP + bool m_codec_wvc1_enabled; + COMXCore *m_OMX; + DISPMANX_DISPLAY_HANDLE_T m_display; +- CCriticalSection m_vsync_lock; +- XbmcThreads::ConditionVariable m_vsync_cond; +- unsigned int m_vsync_count; ++ CEvent m_vsync; + class DllLibOMXCore; + CCriticalSection m_critSection; + + +From af0aa61f6d78364f9b65c413b87d2e09953aa449 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 6 Aug 2015 11:23:05 +0100 +Subject: [PATCH 83/87] [rbp] Make sync playback to display the default option + +--- + system/settings/rbp.xml | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/system/settings/rbp.xml b/system/settings/rbp.xml +index bf3b05f..0743176 100644 +--- a/system/settings/rbp.xml ++++ b/system/settings/rbp.xml +@@ -1,6 +1,13 @@ + + +
++ ++ ++ ++ true ++ ++ ++ + + + false + +From 7470bc8ba9710bd15e180d96ee72ee58a545c766 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Fri, 31 Jul 2015 18:39:31 +0100 +Subject: [PATCH 84/87] [mmalcodec] Tidy up debug logging for decode + +--- + xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 16 ++++------------ + 1 file changed, 4 insertions(+), 12 deletions(-) + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +index 7fea172..756b845 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +@@ -860,11 +860,7 @@ int CMMALVideo::Decode(uint8_t* pData, int iSize, double dts, double pts) + m_demuxerPts = dts; + double queued = m_decoderPts != DVD_NOPTS_VALUE && m_demuxerPts != DVD_NOPTS_VALUE ? m_demuxerPts - m_decoderPts : 0.0; + if (mmal_queue_length(m_dec_input_pool->queue) > 0 && !m_demux_queue_length && queued <= DVD_MSEC_TO_TIME(1000)) +- { +- if (g_advancedSettings.CanLogComponent(LOGVIDEO)) +- CLog::Log(LOGDEBUG, "%s::%s - got space for output: demux_queue(%d) space(%d) queued(%.2f)", CLASSNAME, __func__, m_demux_queue_length, mmal_queue_length(m_dec_input_pool->queue) * m_dec_input->buffer_size, queued*1e-6); + ret |= VC_BUFFER; +- } + else + m_preroll = false; + +@@ -873,21 +869,17 @@ int CMMALVideo::Decode(uint8_t* pData, int iSize, double dts, double pts) + + if (!m_output_ready.empty() && !m_preroll) + { +- if (g_advancedSettings.CanLogComponent(LOGVIDEO)) +- CLog::Log(LOGDEBUG, "%s::%s - got output picture:%d", CLASSNAME, __func__, m_output_ready.size()); + ret |= VC_PICTURE; + // renderer is low - give priority to returning pictures + if (0 && m_codecControlFlags & DVD_CODEC_CTRL_DRAIN) + ret &= ~VC_BUFFER; + } + if (!ret) +- { +- if (g_advancedSettings.CanLogComponent(LOGVIDEO)) +- CLog::Log(LOGDEBUG, "%s::%s - Nothing to do: ready_queue(%d) demux_queue(%d) space(%d) preroll(%d)", +- CLASSNAME, __func__, m_output_ready.size(), m_demux_queue_length, mmal_queue_length(m_dec_input_pool->queue) * m_dec_input->buffer_size, m_preroll); +- lock.Leave(); + Sleep(10); // otherwise we busy spin +- } ++ ++ if (g_advancedSettings.CanLogComponent(LOGVIDEO)) ++ CLog::Log(LOGDEBUG, "%s::%s - ret(%x) pics(%d) demux_queue(%d) space(%d) queued(%.2f) preroll(%d) flags(%x)", CLASSNAME, __func__, ret, m_output_ready.size(), m_demux_queue_length, mmal_queue_length(m_dec_input_pool->queue) * m_dec_input->buffer_size, queued*1e-6, m_preroll, m_codecControlFlags); ++ + return ret; + } + + +From 4848cab3632652bfaa89f0e822a1b224015f2427 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 6 Aug 2015 13:25:32 +0100 +Subject: [PATCH 85/87] [rbp] Don't enable DTS-HD by default on Pi2 + +Reports of no audio with omxplayer and this enabled +that are not yet understood +--- + system/settings/rbp2.xml | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/system/settings/rbp2.xml b/system/settings/rbp2.xml +index 1c8b116..52778ecd 100644 +--- a/system/settings/rbp2.xml ++++ b/system/settings/rbp2.xml +@@ -19,11 +19,6 @@ + + + +- +- +- true +- +- + + + + +From 4a133a4a6c64f9c4811f10e8cecd4036080d15b8 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Fri, 7 Aug 2015 18:09:09 +0100 +Subject: [PATCH 86/87] Revert "[rbp] Don't enable DTS-HD by default on Pi2" + +This reverts commit 8166e8990b8cf599cc4eb1641c58fad1f1f0821f. +--- + system/settings/rbp2.xml | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/system/settings/rbp2.xml b/system/settings/rbp2.xml +index 52778ecd..1c8b116 100644 +--- a/system/settings/rbp2.xml ++++ b/system/settings/rbp2.xml +@@ -19,6 +19,11 @@ + + + ++ ++ ++ true ++ ++ + + + diff --git a/projects/RPi2/patches/kodi/kodi-001-isengard-rpb-backports.patch b/projects/RPi2/patches/kodi/kodi-001-isengard-rpb-backports.patch index e3696ce176..0699fba75b 100644 --- a/projects/RPi2/patches/kodi/kodi-001-isengard-rpb-backports.patch +++ b/projects/RPi2/patches/kodi/kodi-001-isengard-rpb-backports.patch @@ -1,7 +1,7 @@ -From 132222ecf736483f8a28e3bcc79e203d2472f69f Mon Sep 17 00:00:00 2001 +From fca20ce71da054984d648316b362c9318dfeab10 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 18:19:32 +0100 -Subject: [PATCH 01/78] [rbp/omxplayer] When opening a stream don't try to +Subject: [PATCH 01/87] [rbp/omxplayer] When opening a stream don't try to update gui so often --- @@ -25,10 +25,10 @@ index 318ecec..59698f6 100644 g_windowManager.ProcessRenderLoop(false); if (allowCancel && dialog->IsCanceled()) -From fbca4865a19906cb3e97c9322608ab095b12c9f7 Mon Sep 17 00:00:00 2001 +From cda1cae0c13be8b8db75d61f64879291a994426c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Mar 2014 15:36:06 +0000 -Subject: [PATCH 03/78] [hifiberry] Hack: force it to be recognised as IEC958 +Subject: [PATCH 03/87] [hifiberry] Hack: force it to be recognised as IEC958 capable to enable passthrough options --- @@ -51,10 +51,10 @@ index e22db7a..0120bd5 100644 info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI") { -From cc8731845cea144fc5de5192c54ae6fba29bfa52 Mon Sep 17 00:00:00 2001 +From b8992693e016eed3d5e89ddc437aa4c59b561d13 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 1 May 2014 16:28:39 +0100 -Subject: [PATCH 04/78] Improved file buffering in CArchive +Subject: [PATCH 04/87] Improved file buffering in CArchive Even though memcpy is typically inlined by the compiler into byte/word loads and stores (at least for release builds), the frequency with which 1, 2 and 4 @@ -114,17 +114,17 @@ index 6ed0f8f..8506d95 100644 } else -From 850fc8907cffcf06cd9be909bd810bbd241e3886 Mon Sep 17 00:00:00 2001 +From 396257e8ed99f16e3088a650f47d1356410ae912 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 12 Aug 2014 00:31:36 +0100 -Subject: [PATCH 05/78] [omxcodec] Don't force software codec with dvds +Subject: [PATCH 05/87] [omxcodec] Don't force software codec with dvds --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index 9f45a22..e702c35 100644 +index 7c84557..87463a7 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -3417,7 +3417,9 @@ bool CDVDPlayer::OpenVideoStream(CDVDStreamInfo& hint, bool reset) @@ -138,10 +138,10 @@ index 9f45a22..e702c35 100644 else if (m_pInputStream && m_pInputStream->IsStreamType(DVDSTREAM_TYPE_PVRMANAGER)) { -From a38ae3033670378db15e94fa36e7f6bbd5bb0e6d Mon Sep 17 00:00:00 2001 +From c44cf37f3ab1c1b836044c503f51609190c6d1cc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 10 Aug 2014 16:45:16 +0100 -Subject: [PATCH 06/78] filesystem: Make support of browsing into archives +Subject: [PATCH 06/87] filesystem: Make support of browsing into archives optional The ability to browse, scan and play content in archives can cause problems on low powered/low memory devices. @@ -224,10 +224,10 @@ index 5af92e7..568a1a8 100644 { // XBMC Smart playlist - just XML renamed to XSP // read the name of the playlist in -From 559b4641f94a1cac143b83562a3ed2d1c4839842 Mon Sep 17 00:00:00 2001 +From 39ca696d7683f645fab217a4971e8f884f0f4bfc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 13:06:57 +0000 -Subject: [PATCH 08/78] [rbp] Make cachemembuffersize default depend on memory +Subject: [PATCH 08/87] [rbp] Make cachemembuffersize default depend on memory size --- @@ -328,10 +328,12 @@ index 2e3282c..d1606a2 100644 m_initialized = true; } -From 3a76692d6b72eb5a96d2a9ad59085938a8034c1c Mon Sep 17 00:00:00 2001 + + +From f9d47dcf9d04a28308404a77b516e28d57b97f2a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 30 May 2014 14:58:43 +0100 -Subject: [PATCH 10/78] [settings] Experiment: Report DESKTOP resolution in +Subject: [PATCH 10/87] [settings] Experiment: Report DESKTOP resolution in video settings --- @@ -353,10 +355,10 @@ index 4376463..fc4e5ea 100644 StringUtils::Format("%dx%d%s", resolution->width, resolution->height, ModeFlagsToString(resolution->flags, false).c_str()), -From 7d47259501b8e78a4488b3c77d301dc3092da768 Mon Sep 17 00:00:00 2001 +From 76c5fd374e30835b61684da8a62ed6c6ddefa4cb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Sep 2014 12:04:26 +0100 -Subject: [PATCH 11/78] egl: Treat unknown display aspect ratio as square pixel +Subject: [PATCH 11/87] egl: Treat unknown display aspect ratio as square pixel --- xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 4 ++-- @@ -385,10 +387,10 @@ index bda7430..68fc647 100644 SetResolutionString(m_desktopRes); -From 84167d1a7f7dc96ac0af89c9a1c29845e55b9265 Mon Sep 17 00:00:00 2001 +From af06dc9a5a99bcf774a760bf46f88989ae03c6c4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 19 Sep 2014 11:54:49 +0100 -Subject: [PATCH 12/78] [dvdplayer/rbp] Add pi specific option to maintain +Subject: [PATCH 12/87] [dvdplayer/rbp] Add pi specific option to maintain vsync with pll adjustment New A/V sync option in settings/video/playback to do "Adjust PLL". @@ -680,10 +682,10 @@ index 7df1bf7..732b69d 100644 float m_audioPlayCountMinimumPercent; bool m_dvdplayerIgnoreDTSinWAV; -From 3cd283fec4a380188697c9f576e3f30debdb3481 Mon Sep 17 00:00:00 2001 +From 855155cecdc39ff1586f84cec624bdbc1689ad41 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 24 Sep 2014 23:13:52 +0100 -Subject: [PATCH 13/78] [audio] Add settings option to boost centre channel +Subject: [PATCH 13/87] [audio] Add settings option to boost centre channel when downmixing This allows a dB volume increase to be added to centre channel. @@ -805,10 +807,10 @@ index f99c0e6..1911189 100644 // stereo upmix if (upmix && m_src_channels == 2 && m_dst_channels > 2) -From 1d5a34df606f823333a0b4f0c9fdde54910c0e5f Mon Sep 17 00:00:00 2001 +From e46c99c1b4d75dd9f162d80c9cec1ebf1a8d3074 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 15:23:51 +0000 -Subject: [PATCH 14/78] [rbp] Default extract thumbnails to false +Subject: [PATCH 14/87] [rbp] Default extract thumbnails to false It can take 80 seconds for a single file on a Pi. It can cause crashes with out-of-memory errors. It genereates a lot of support issues. Best to default to disabled and let users enable it if they must @@ -838,10 +840,10 @@ index 50fe36a..a54a4c4 100644
-From d15976f38c7a551134ffff9b92a45e9e167634b0 Mon Sep 17 00:00:00 2001 +From b860125828104f62039468f8af95cd8b82fedaa5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 10 Feb 2015 15:29:16 +0000 -Subject: [PATCH 15/78] [libcec] Add repeating keypress patch from popcornmix' +Subject: [PATCH 15/87] [libcec] Add repeating keypress patch from popcornmix' repo --- @@ -1728,10 +1730,10 @@ index 0000000..8366a69 +1.9.1 + -From 48f3222f1cc3eb51884018918c8c652a99cef2a7 Mon Sep 17 00:00:00 2001 +From b55caa265c7481aaf12c99eaa3e051197492a16b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Oct 2014 00:19:40 +0000 -Subject: [PATCH 16/78] [cec] Add settings for configuring button repeats +Subject: [PATCH 16/87] [cec] Add settings for configuring button repeats --- addons/resource.language.en_gb/resources/strings.po | 15 +++++++++++++++ @@ -1812,10 +1814,10 @@ index ea702e5..b5ff693 100644 void CPeripheralCecAdapter::ReadLogicalAddresses(const std::string &strString, cec_logical_addresses &addresses) -From 1976d9680172ac8af7f543d952a8a9785e52ae6d Mon Sep 17 00:00:00 2001 +From f8b7ec7f762de88902378187148e437589c09e8c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Nov 2014 23:17:46 +0000 -Subject: [PATCH 17/78] [cec] Don't discard buttons when repeat mode is enabled +Subject: [PATCH 17/87] [cec] Don't discard buttons when repeat mode is enabled --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 5 ++++- @@ -1838,10 +1840,10 @@ index b5ff693..6086bf5 100644 if (m_currentButton.iButton == key.iButton && m_currentButton.iDuration == 0) { -From 39d8231d117444c81d96d79e38d23458e18d81ec Mon Sep 17 00:00:00 2001 +From d36c6702a3f695ba90ab7bc60498a57f32c6eff2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 4 Nov 2014 18:50:00 +0000 -Subject: [PATCH 18/78] [cec] Temp - more logging +Subject: [PATCH 18/87] [cec] Temp - more logging --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 8 +++++++- @@ -1893,10 +1895,10 @@ index 6086bf5..417b0d8 100644 } -From 5a250e44c87f1d6537bac25a0aba6d87c2ff9495 Mon Sep 17 00:00:00 2001 +From f4d93cf45c5ad5666ce31589c879ae2c3bfbfa0c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 15 Nov 2014 12:03:34 +0000 -Subject: [PATCH 19/78] [dvdplayer] Add lock for player creation +Subject: [PATCH 19/87] [dvdplayer] Add lock for player creation --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 3 +++ @@ -1904,7 +1906,7 @@ Subject: [PATCH 19/78] [dvdplayer] Add lock for player creation 2 files changed, 4 insertions(+) diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index e702c35..8252192 100644 +index 87463a7..0ceae20 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -517,6 +517,7 @@ int CSelectionStreams::CountSource(StreamType type, StreamSource source) const @@ -1942,10 +1944,10 @@ index ab6a228..32e76c1 100644 + CCriticalSection m_players_lock; }; -From 0598120209d780b0aef824f45fc03d2c085459c6 Mon Sep 17 00:00:00 2001 +From 1f158cf501be9af72c54013f6ba3d888028fd3d2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 24 Nov 2014 22:07:25 +0000 -Subject: [PATCH 20/78] [dvdplayervideo] Prod decoder when in stills mode +Subject: [PATCH 20/87] [dvdplayervideo] Prod decoder when in stills mode An asynchronous hardware decoder doesn't only produce output pictures when new packets arrive. In dvd stills mode give it a chance to return pictures that weren't ready when frame was decoded. @@ -1954,7 +1956,7 @@ In dvd stills mode give it a chance to return pictures that weren't ready when f 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp -index cbfefe0..fe3b2c2 100644 +index 46fa635..03c876d 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -314,7 +314,8 @@ void CDVDPlayerVideo::Process() @@ -2022,10 +2024,10 @@ index cbfefe0..fe3b2c2 100644 if (pMsg->IsType(CDVDMsg::GENERAL_SYNCHRONIZE)) -From 0022598c8beb8f6dce97ca959a66348e7d498a97 Mon Sep 17 00:00:00 2001 +From 679035ea691e5269b7f5b26f6e5f4dd42f243da9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 27 Nov 2014 16:31:56 +0000 -Subject: [PATCH 21/78] [languageinvoker] Reduce priority of python threads +Subject: [PATCH 21/87] [languageinvoker] Reduce priority of python threads --- xbmc/interfaces/generic/LanguageInvokerThread.cpp | 5 +++++ @@ -2048,10 +2050,10 @@ index fcdd063..16f0c89 100644 } -From 9a26e5bba11a26b9437a93cfbc1e55ccc3245170 Mon Sep 17 00:00:00 2001 +From 7c15df684d52221699e7056034efa4c6584caaeb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Dec 2013 16:55:05 +0000 -Subject: [PATCH 22/78] logging: Add microsecond timer to log messages +Subject: [PATCH 22/87] logging: Add microsecond timer to log messages --- xbmc/utils/log.cpp | 17 +++++++++++++++-- @@ -2104,10 +2106,10 @@ index 3443f12..31c4a99 100644 levelNames[logLevel]) + strData; -From 38d419b7cc3e0fe22602ec0819f089583e349952 Mon Sep 17 00:00:00 2001 +From 1a8b62644004d8e07141ce19bd439edc3415b7e1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 29 Nov 2014 15:25:16 +0000 -Subject: [PATCH 23/78] [rbp] hack: wait for splash to complete before changing +Subject: [PATCH 23/87] [rbp] hack: wait for splash to complete before changing hdmi mode --- @@ -2181,10 +2183,10 @@ index 68fc647..c80114e 100644 if(!m_fixedMode && GETFLAGS_GROUP(res.dwFlags) && GETFLAGS_MODE(res.dwFlags)) -From 83db1723e20ced83b80e352a5d2154ecea953100 Mon Sep 17 00:00:00 2001 +From 1c92686897b4c799e85aa878ec9f2d5b940533f6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 11 Dec 2014 17:00:57 +0000 -Subject: [PATCH 24/78] Fix for UI not showing both extractflags and +Subject: [PATCH 24/87] Fix for UI not showing both extractflags and extractthumb --- @@ -2248,10 +2250,10 @@ index 4843ab8..f1cbefa 100644 -From 0f830a21ca9227d80e8caae04ff11b7bae247298 Mon Sep 17 00:00:00 2001 +From 6e4957a0b614a4e8db33849e52606052e8db9708 Mon Sep 17 00:00:00 2001 From: anaconda Date: Thu, 11 Sep 2014 21:30:43 +0200 -Subject: [PATCH 25/78] Disable autoscrolling while on screensaver and while +Subject: [PATCH 25/87] Disable autoscrolling while on screensaver and while opening streams. --- @@ -2264,10 +2266,10 @@ Subject: [PATCH 25/78] Disable autoscrolling while on screensaver and while 6 files changed, 24 insertions(+), 3 deletions(-) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 697f278..a2a7fd2 100644 +index 36e3b97..136eade 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -4996,3 +4996,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const +@@ -4988,3 +4988,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const return false; } @@ -2282,10 +2284,10 @@ index 697f278..a2a7fd2 100644 + return onBlackDimScreenSaver || openingStreams; +} diff --git a/xbmc/Application.h b/xbmc/Application.h -index 4b50ab2..07a5da2 100644 +index fe92b99..5e24c97 100644 --- a/xbmc/Application.h +++ b/xbmc/Application.h -@@ -389,6 +389,8 @@ class CApplication : public CXBApplicationEx, public IPlayerCallback, public IMs +@@ -385,6 +385,8 @@ class CApplication : public CXBApplicationEx, public IPlayerCallback, public IMs */ void UnregisterActionListener(IActionListener *listener); @@ -2361,7 +2363,7 @@ index 759ac09..bed6ad2 100644 else { diff --git a/xbmc/guilib/GUITextBox.cpp b/xbmc/guilib/GUITextBox.cpp -index dd78377..6b731e2 100644 +index 2cdbf1c..42be75d 100644 --- a/xbmc/guilib/GUITextBox.cpp +++ b/xbmc/guilib/GUITextBox.cpp @@ -23,6 +23,7 @@ @@ -2382,10 +2384,10 @@ index dd78377..6b731e2 100644 if (m_lastRenderTime) m_autoScrollDelayTime += currentTime - m_lastRenderTime; -From b1843145fb9ab380c34fb8d85969c01228c74249 Mon Sep 17 00:00:00 2001 +From 00ad89f5921ee884ddbf242897809e95a4291587 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 13 Dec 2014 18:35:20 +0000 -Subject: [PATCH 26/78] [demuxer] Avoid memcpy on every demuxer packet +Subject: [PATCH 26/87] [demuxer] Avoid memcpy on every demuxer packet Avoids an unnecessary memcpy on every demuxer packet which for high bitrate videos can be significant. @@ -2480,10 +2482,10 @@ index ab298b2..10c5ee0 100644 } catch(...) { -From e73b4ea6dc1b545c381dc516e804f8079da37f7b Mon Sep 17 00:00:00 2001 +From 1a5db9af3595fed5b65c3557d6022cee3c254f1c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 15 Feb 2015 14:06:12 +0000 -Subject: [PATCH 27/78] [mmal] Allow mmal codec for dvd stills +Subject: [PATCH 27/87] [mmal] Allow mmal codec for dvd stills --- xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp | 7 +++++++ @@ -2515,10 +2517,10 @@ index 4c363cf..b90237b 100644 { // If dvd is an mpeg2 and hint.stills -From acb552f04e57174607dc946fae1916e6f4092d45 Mon Sep 17 00:00:00 2001 +From bb4863764efb8eeb96dd788fd35ee901fe0a4d9a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 31 Mar 2015 17:31:47 +0100 -Subject: [PATCH 28/78] [mmalrenderer] Add SetCodecControl function and prefer +Subject: [PATCH 28/87] [mmalrenderer] Add SetCodecControl function and prefer to return pictures when renderer is low (disabled) --- @@ -2589,10 +2591,10 @@ index 51a64d1..bde8c06 100644 CCriticalSection m_sharedSection; MMAL_COMPONENT_T *m_dec; -From 8bf8dffb44284741978fd9492d80f3502fabe4b2 Mon Sep 17 00:00:00 2001 +From 756be12cafa7d396065a961354ef6fd0911f6a24 Mon Sep 17 00:00:00 2001 From: anaconda Date: Wed, 25 Feb 2015 18:22:21 +0100 -Subject: [PATCH 29/78] Load OSD dialogs on startup. +Subject: [PATCH 29/87] Load OSD dialogs on startup. Fixes skipped frames the first time they're loaded in memory on less powered devices, like a Raspberry Pi, when using DVDPlayer. @@ -2607,10 +2609,10 @@ See http://forum.kodi.tv/showthread.php?tid=211501&pid=1938811#pid1938811 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp -index 1194d4c..82b980f 100644 +index 0aaeebc..200dc5f 100644 --- a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp +++ b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp -@@ -45,6 +45,7 @@ CGUIDialogPVRChannelsOSD::CGUIDialogPVRChannelsOSD() : +@@ -48,6 +48,7 @@ CGUIDialogPVRChannelsOSD::CGUIDialogPVRChannelsOSD() : CGUIDialog(WINDOW_DIALOG_PVR_OSD_CHANNELS, "DialogPVRChannelsOSD.xml"), Observer() { @@ -2687,10 +2689,10 @@ index 9f25fa5..3ece45b 100644 CGUIDialogVideoSettings::~CGUIDialogVideoSettings() { } -From a94b96aed5604f9612ab5cf13f6aecd44dba8ffb Mon Sep 17 00:00:00 2001 +From 8abb0782a608715a9d059e832f18587969bb4303 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 7 Mar 2015 22:46:21 +0000 -Subject: [PATCH 30/78] configure: Add raspberry-pi2 platform +Subject: [PATCH 30/87] configure: Add raspberry-pi2 platform --- configure.ac | 14 +++++++-- @@ -2864,10 +2866,10 @@ index cdc2fe4..379bd1d 100644 set(CMAKE_SYSTEM_NAME Linux) endif() -From 25ca4c7c98f464dfcea7e70e589f21297fab2713 Mon Sep 17 00:00:00 2001 +From 54133f8d1b482256cad949b3cfd651e2732bf218 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 10 Mar 2015 17:05:18 +0000 -Subject: [PATCH 31/78] [players] Add settings option to enable MVC support +Subject: [PATCH 31/87] [players] Add settings option to enable MVC support --- addons/resource.language.en_gb/resources/strings.po | 10 ++++++++++ @@ -2948,10 +2950,10 @@ index e4f6d86..5d324f4 100644 case AV_CODEC_ID_MPEG4: // (role name) video_decoder.mpeg4 -From 8daeaefb1120ce7ff4a5ed29c32dfeba07a8d7e0 Mon Sep 17 00:00:00 2001 +From 50a6e59c7f8e393d93f569ab53486c9d4fbf4308 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Mar 2015 12:38:08 +0000 -Subject: [PATCH 32/78] [mmalrenderer] Switch to using transform flags for 3d +Subject: [PATCH 32/87] [mmalrenderer] Switch to using transform flags for 3d modes --- @@ -3330,10 +3332,11 @@ index c80114e..3816b55 100644 CLog::Log(LOGDEBUG, "EGL set resolution %dx%d -> %dx%d @ %.2f fps (%d,%d) flags:%x aspect:%.2f\n", m_width, m_height, dst_rect.width, dst_rect.height, res.fRefreshRate, GETFLAGS_GROUP(res.dwFlags), GETFLAGS_MODE(res.dwFlags), (int)res.dwFlags, res.fPixelRatio); -From 16c142faadaa31be66a296796daa6d6ac40b0cad Mon Sep 17 00:00:00 2001 + +From 02ab1526a5e8a6e60d59bf5f3ad285110ff66d5d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 14 Apr 2015 20:51:14 +0100 -Subject: [PATCH 35/78] [gui] Also limit GUI updates when in non full-screen +Subject: [PATCH 35/87] [gui] Also limit GUI updates when in non full-screen video mode --- @@ -3341,10 +3344,10 @@ Subject: [PATCH 35/78] [gui] Also limit GUI updates when in non full-screen 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index a2a7fd2..95ec768 100644 +index 136eade..763c1c6 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -2507,7 +2507,7 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) +@@ -2499,7 +2499,7 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) #if defined(TARGET_RASPBERRY_PI) || defined(HAS_IMXVPU) // This code reduces rendering fps of the GUI layer when playing videos in fullscreen mode // it makes only sense on architectures with multiple layers @@ -3353,7 +3356,7 @@ index a2a7fd2..95ec768 100644 fps = CSettings::Get().GetInt("videoplayer.limitguiupdate"); #endif -@@ -2520,6 +2520,8 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) +@@ -2512,6 +2512,8 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) { if (!m_skipGuiRender) g_windowManager.Process(CTimeUtils::GetFrameTime()); @@ -3363,10 +3366,10 @@ index a2a7fd2..95ec768 100644 g_windowManager.FrameMove(); } -From fc48d8306d53e54cef1467ce09de7a07f223f632 Mon Sep 17 00:00:00 2001 +From 7d32b47b8d6f7f8238ad230de053b9ef74d9b169 Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:24:42 +0200 -Subject: [PATCH 36/78] Added some vc_tv_* functions that were missing in +Subject: [PATCH 36/87] Added some vc_tv_* functions that were missing in DllBCM. --- @@ -3401,10 +3404,10 @@ index b92fdb8..9c7e293 100644 HDMI_INTERLACED_T scan_mode, EDID_MODE_MATCH_FLAG_T match_flags) { return ::vc_tv_hdmi_power_on_best(width, height, frame_rate, scan_mode, match_flags); }; -From b5abdd3df0fdd4bf3efbd79fe891921cd300885a Mon Sep 17 00:00:00 2001 +From a87701ba7de5154a5ace636f12ad1d45899f3a5a Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:29:03 +0200 -Subject: [PATCH 37/78] Added private utility function to map a float display +Subject: [PATCH 37/87] Added private utility function to map a float display aspect, to the respective SDTV_ASPECT_* enum value. --- @@ -3453,10 +3456,10 @@ index 3816b55..520bf95 100644 bool CEGLNativeTypeRaspberryPI::ProbeResolutions(std::vector &resolutions) -From 1d7dac8976e95b11aa39936fd5260cd30567dcd9 Mon Sep 17 00:00:00 2001 +From c6d3ccebd34ae98f96ac2f6f28762cea9685e11a Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 19:50:58 +0200 -Subject: [PATCH 38/78] Changed SDTV resolutions to be treated similarly to +Subject: [PATCH 38/87] Changed SDTV resolutions to be treated similarly to HDMI resolutions in SetNativeResolution. This means that the SDTV interface is powered up and set to the right mode. @@ -3553,10 +3556,10 @@ index 59401f5..a0acb1a 100644 int m_width; int m_height; -From c7bfece4cf2a4febe45cf1f5beae412307e93f3a Mon Sep 17 00:00:00 2001 +From 45464218f3129a257aa9916b0bdb8967945da4ca Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 17:11:09 +0100 -Subject: [PATCH 39/78] Revert "[3D] don't back out from 3D handling on +Subject: [PATCH 39/87] Revert "[3D] don't back out from 3D handling on resolution changes if we're switching to a different 3D mode" This reverts commit 3c4c236a799dab8369b4bb74ff9993bc58a61a72. @@ -3591,10 +3594,10 @@ index bd7dff9..fc4cc95 100644 if(stereo_mode != m_stereoMode) -From c988d3d6608cd13ed2534315ed3bf730d2ddba2c Mon Sep 17 00:00:00 2001 +From fdefdbe58bbffe647f669616892257142aef76f6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 10 Jun 2015 20:42:03 +0100 -Subject: [PATCH 40/78] [rbp] Fix zoom modes with stereoscopic videos +Subject: [PATCH 40/87] [rbp] Fix zoom modes with stereoscopic videos --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 12 ++++++++++-- @@ -3650,10 +3653,10 @@ index ba17a46..298eaff 100644 if (gui != display) { -From 72029e483a5d1ff5dbf7a1eda6f02b2755bc6ed4 Mon Sep 17 00:00:00 2001 +From 2a3b2eecd8bebb09419ce6606623e664a6caf1ea Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 17:42:03 +0100 -Subject: [PATCH 41/78] [WinSystemEGL] Remove unused Support3D function +Subject: [PATCH 41/87] [WinSystemEGL] Remove unused Support3D function --- xbmc/windowing/egl/WinSystemEGL.cpp | 29 ----------------------------- @@ -3713,10 +3716,10 @@ index 9d4baf6..1ec4225 100644 EGLConfig GetEGLConfig(); -From bbe2c4e3962048ecd493268e586b86749af9e038 Mon Sep 17 00:00:00 2001 +From d3bbcba17a08b06967098276a4e63fea1ad734c8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 16 Apr 2014 21:18:06 +0100 -Subject: [PATCH 42/78] [omxplayer] Don't propagate 3d flags based on supported +Subject: [PATCH 42/87] [omxplayer] Don't propagate 3d flags based on supported 3d modes --- @@ -3772,10 +3775,10 @@ index 298eaff..3bf7c2e 100644 unsigned int iDisplayHeight = height; -From 0a56a42e0a89375e00451fd0727742bb897f4090 Mon Sep 17 00:00:00 2001 +From babe2ddd56be4bcc0653ab16010de7e5f5d3815f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 18:52:28 +0100 -Subject: [PATCH 43/78] [3d] Avoid switching stereo mode based on current +Subject: [PATCH 43/87] [3d] Avoid switching stereo mode based on current display mode --- @@ -3815,10 +3818,10 @@ index fc4cc95..e18232e 100644 RESOLUTION_INFO info_mod = GetResInfo(res); -From a96d0b58fb180abb244b7bdd73ddca8ab5c99f9c Mon Sep 17 00:00:00 2001 +From 5a5c6740107de97d7cbce3303179c27e4f5e17b9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jun 2015 23:13:51 +0100 -Subject: [PATCH 44/78] [rpi] Always add desktop resolution to supported list +Subject: [PATCH 44/87] [rpi] Always add desktop resolution to supported list There was an assumption that the desktop resolution would be in the probed list, but that is sometimes not the case. We don't add interlaced resolutions to list, but they can be the preferred resolution read from edid. See: @@ -3887,10 +3890,10 @@ index a1f67fd..69ce9b7 100644 CLog::Log(LOGDEBUG, "EGL mode %d: %s (%.2f) %s%s:%x\n", i, res.strMode.c_str(), res.fPixelRatio, tv->native ? "N" : "", tv->scan_mode ? "I" : "", tv->code); -From 5d0ec460e72d1265a001e609618852d56918feae Mon Sep 17 00:00:00 2001 +From 76f259d5791f4dd40cd6ff6ffb4251c25496cec6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 18:53:29 +0100 -Subject: [PATCH 45/78] [rbp] Drop reporting 3D modes and just use current +Subject: [PATCH 45/87] [rbp] Drop reporting 3D modes and just use current rendering mode to request 3D signalling --- @@ -4047,10 +4050,10 @@ index 69ce9b7..25a97ad 100644 } if (supported_modes) -From ad622b30e433dcdc0ea015fd46cb75fb1c73afe4 Mon Sep 17 00:00:00 2001 +From 6b731b58c0cd53ba599eab0dab2e3011fbc43425 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 30 Jun 2015 14:08:24 +0100 -Subject: [PATCH 46/78] [rbp] Ignore video stereo mode when 3D display mode is +Subject: [PATCH 46/87] [rbp] Ignore video stereo mode when 3D display mode is disabled --- @@ -4089,10 +4092,10 @@ index 3bf7c2e..5f6b402 100644 if (m_hints.orientation == 90 || m_hints.orientation == 270) { -From 78f4bccdbd9ef9509d7a704e08359a72a49416b0 Mon Sep 17 00:00:00 2001 +From 985940529cc7737ffa0475e4b9866fd9e4763826 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 16:27:15 +0100 -Subject: [PATCH 47/78] [EGL] Don't skip out when HDMI mode is considered the +Subject: [PATCH 47/87] [EGL] Don't skip out when HDMI mode is considered the same It might have different 3D signalling. TODO: keep track of 3D signalling @@ -4114,10 +4117,10 @@ index c43c4d0..13b75b1 100644 m_bFullScreen = fullScreen; -From b7f37a646000c97a9bb5519624ec34857cb7ad42 Mon Sep 17 00:00:00 2001 +From 2ffd4421782229b8243b7c479a97c63a5e2cddde Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 21 Apr 2015 14:32:07 +0100 -Subject: [PATCH 48/78] [mmalrenderer] Add sharpness control +Subject: [PATCH 48/87] [mmalrenderer] Add sharpness control --- addons/resource.language.en_gb/resources/strings.po | 2 +- @@ -4189,17 +4192,17 @@ index 1404fb3..9bced7e 100644 CCriticalSection m_sharedSection; MMAL_COMPONENT_T *m_vout; -From bea8f5136835083a1cad4f7afdaad417d7c9d2ec Mon Sep 17 00:00:00 2001 +From 08d327c3400b158eae3395ca17335ea53d7127c2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Apr 2015 13:49:51 +0100 -Subject: [PATCH 49/78] [dvdplayer] Add back required include +Subject: [PATCH 49/87] [dvdplayer] Add back required include --- xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp -index fe3b2c2..73e9ce6 100644 +index 03c876d..c1ef9d4 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -33,6 +33,7 @@ @@ -4211,10 +4214,10 @@ index fe3b2c2..73e9ce6 100644 #include "guilib/GraphicContext.h" #include -From 57bd1fdf720099a9614cb65404800b093e59677e Mon Sep 17 00:00:00 2001 +From 5c54e70d72c67d2bf1fdb6bbc9ae94ea0a2e26bf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 May 2015 23:58:06 +0100 -Subject: [PATCH 50/78] [screensaver] Leave GUI contents available for +Subject: [PATCH 50/87] [screensaver] Leave GUI contents available for screensaver --- @@ -4244,10 +4247,10 @@ index 6030c4c..ccc2922 100644 // Add window to the history list (we must do this before we activate it, -From 8e48a3c37e540fba692b6c4cc1d1a900b973f6de Mon Sep 17 00:00:00 2001 +From 196fc171b98cc35a41b10e9adcbd6adecb9638a2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 15 May 2015 14:04:11 +0100 -Subject: [PATCH 52/78] [omxplayer] Make unsupported when ac3transcode is +Subject: [PATCH 52/87] [omxplayer] Make unsupported when ac3transcode is enabled --- @@ -4272,10 +4275,10 @@ index eff47e0..b954276 100644 { // find video stream -From 0ba2a4632d72a370b06a633f2389d9cef26ade0b Mon Sep 17 00:00:00 2001 +From 912660eb2e987e8226f5e403545d5e8ea8bdbf9f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 1 Jun 2015 14:14:43 +0100 -Subject: [PATCH 53/78] [omximage] Don't report failed decode of progressive +Subject: [PATCH 53/87] [omximage] Don't report failed decode of progressive jpegs as as error --- @@ -4361,10 +4364,10 @@ index a43a446..890ca88 100644 } -From 1fcc7db8cdd957520fd2891efd339ca22c8041a0 Mon Sep 17 00:00:00 2001 +From 47b92523f966479950a6f836a1a641752fdbc944 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 May 2015 19:01:00 +0100 -Subject: [PATCH 54/78] [rbp] Allow settings option for timestamp preference +Subject: [PATCH 54/87] [rbp] Allow settings option for timestamp preference We currently have some files that play better with pts timestamps and some that play better with dts timestamps Provide a gui setting to allow users to adjust this behaviour until we have a better solution @@ -4438,10 +4441,10 @@ index 5f6b402..ce23bec 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From 1a903b160ef9ffe7863809dcd9823ce988b14985 Mon Sep 17 00:00:00 2001 +From 33cb5e8872ddb645f9a6cc9e7b79e337c6b44bab Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 6 Jun 2015 18:44:37 +0100 -Subject: [PATCH 55/78] [rbp] Ignore pts value when m_hints.ptsinvalid set +Subject: [PATCH 55/87] [rbp] Ignore pts value when m_hints.ptsinvalid set --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -4475,10 +4478,10 @@ index ce23bec..e17fdb8 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From ad59ec8d6c5a9ea0d19cd5811328d248c91d6fee Mon Sep 17 00:00:00 2001 +From f9f553c62aeb183dfd3e80b905cffed576673e10 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 6 Jun 2015 18:43:57 +0100 -Subject: [PATCH 56/78] ffmpeg: Automatic switch to software decode for GMC +Subject: [PATCH 56/87] ffmpeg: Automatic switch to software decode for GMC with more than one warp point --- @@ -4649,10 +4652,10 @@ index b954276..b5ee4b6 100644 else if ((hint.codec == AV_CODEC_ID_VC1 || hint.codec == AV_CODEC_ID_WMV3) && g_RBP.GetCodecWvc1()) supported = true; -From d2e8678eee1dbe76045263a5e9d4717a1b38317d Mon Sep 17 00:00:00 2001 +From 7fef3d4b4ec074297b9122231677e6ca22477ce5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 21:46:57 +0100 -Subject: [PATCH 57/78] [rbp] Use default resampling setting on Pi2 +Subject: [PATCH 57/87] [rbp] Use default resampling setting on Pi2 --- system/settings/rbp2.xml | 5 +++++ @@ -4675,10 +4678,10 @@ index b29a428..1c8b116 100644
-From 4fee25bba08a77b13f2892f587cf30ee8f402c41 Mon Sep 17 00:00:00 2001 +From c1c3ee24908f125f0de27c538104fb941a97f70c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 25 Jun 2015 19:43:10 +0100 -Subject: [PATCH 58/78] [rbp] HW mouse pointer +Subject: [PATCH 58/87] [rbp] HW mouse pointer Updating the mouse point provokes a complete screen update which can make it feel laggy and results in high cpu. @@ -5716,10 +5719,10 @@ index f6c8df0..5c2b583 100644 #endif -From 58fc811ecf11a4d58f09dd6146acf6031e17cd44 Mon Sep 17 00:00:00 2001 +From 8c2da945c14bf86a8110cadb8de8d905456bf115 Mon Sep 17 00:00:00 2001 From: Roman Kraevskiy Date: Fri, 10 Jul 2015 23:36:34 +0300 -Subject: [PATCH 59/78] Mouse wheel support for X11-less linux distros +Subject: [PATCH 59/87] Mouse wheel support for X11-less linux distros (openelec) --- @@ -5927,10 +5930,10 @@ index cf1c5ce..954d823 100644 class CLinuxInputDevices -From 6680f853007efce192edf2ce2a9b1cf88158c647 Mon Sep 17 00:00:00 2001 +From f233a279790d3b1682972724c243c7ea48b56aa2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 22:06:53 +0100 -Subject: [PATCH 60/78] [rbp] Flip default of prefer pts timestamps +Subject: [PATCH 60/87] [rbp] Flip default of prefer pts timestamps --- system/settings/rbp.xml | 2 +- @@ -5950,10 +5953,10 @@ index 8c6e69d..f9528bc 100644
-From 1bbcc8240084f5a5fdd76ed25217f0598b30da0a Mon Sep 17 00:00:00 2001 +From 3265c0a4d65cd46fa7e6e40f2c06587325a8a53f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 7 May 2015 14:28:37 +0100 -Subject: [PATCH 61/78] build: Add vcsm lib +Subject: [PATCH 61/87] build: Add vcsm lib --- configure.ac | 2 +- @@ -5973,10 +5976,10 @@ index 084c2cf..98a1b26 100644 AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library)) -From aab122b6015b5274836cb1f6e59229f21e7cc72c Mon Sep 17 00:00:00 2001 +From 711768bf07ef5cea9c30e3543fa82b45017c508a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 20 Jul 2015 16:11:37 +0100 -Subject: [PATCH 62/78] [mmalcodec] Populate the framerate of video decoder +Subject: [PATCH 62/87] [mmalcodec] Populate the framerate of video decoder When timestamps are unknown, they may be interpolated based on the framerate. Without setting this, a default of 30fps is used which may be incorrect and cause stutters @@ -6001,10 +6004,10 @@ index 3e97f1d..5b064d2 100644 error_concealment.hdr.id = MMAL_PARAMETER_VIDEO_DECODE_ERROR_CONCEALMENT; -From c448fb336cd6b7e07dae7dc0b1c357da26f2d0f5 Mon Sep 17 00:00:00 2001 +From 94b4c1a43ae53a123c5039ac94b47c5598db455b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 22 Jul 2015 22:52:46 +0100 -Subject: [PATCH 63/78] [mmalcodec] Enable interpolate timestamps +Subject: [PATCH 63/87] [mmalcodec] Enable interpolate timestamps --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -6024,10 +6027,10 @@ index 5b064d2..a202421 100644 CLog::Log(LOGERROR, "%s::%s Failed to disable interpolate timestamps mode on %s (status=%x %s)", CLASSNAME, __func__, m_dec_input->name, status, mmal_status_to_string(status)); -From e5e72775474a6c93f8dc776331e123ea77bd7e88 Mon Sep 17 00:00:00 2001 +From d65df791a54f90d38f6c905aef565c05cccb44d3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 00:55:47 +0100 -Subject: [PATCH 64/78] Revert "[rbp] Flip default of prefer pts timestamps" +Subject: [PATCH 64/87] Revert "[rbp] Flip default of prefer pts timestamps" This reverts commit 34100dcdf830a0e957df585108066c48d6c5c38d. --- @@ -6048,10 +6051,10 @@ index f9528bc..8c6e69d 100644 -From 4e8844c1c9c32823ae7ca342982e1b355dfee132 Mon Sep 17 00:00:00 2001 +From 2b3c2670323ee570e6f10164e2cc3fb78e2f31b9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 00:56:56 +0100 -Subject: [PATCH 65/78] Revert "[rbp] Allow settings option for timestamp +Subject: [PATCH 65/87] Revert "[rbp] Allow settings option for timestamp preference" This reverts commit c0eef926dd376cbf8a7857b2848e118ea3689b98. @@ -6125,10 +6128,10 @@ index e17fdb8..f06ee9c 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From 0f328c607bcbecb752f06752996146d92bfcdd7d Mon Sep 17 00:00:00 2001 +From b8058086f55b522b82ba15ad4d9f30bd8c1cd458 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 15:52:39 +0100 -Subject: [PATCH 66/78] [omxhelper] Ignore embedded coverart image when looking +Subject: [PATCH 66/87] [omxhelper] Ignore embedded coverart image when looking for supported video streams --- @@ -6148,10 +6151,11 @@ index b5ee4b6..59479fe 100644 continue; CDVDStreamInfo hint(*stream, true); -From fc3e55399cf44677546fde77958e96a455015f1c Mon Sep 17 00:00:00 2001 + +From 142b98ac1813dc78695f763f51c1516f0cfe5d2e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Jul 2015 18:39:25 +0100 -Subject: [PATCH 68/78] [mmalcodec] Don't set initial unknown timestamps to +Subject: [PATCH 68/87] [mmalcodec] Don't set initial unknown timestamps to zero This used to be done to keep the firmware happy, but is no longer required and messes with timestamp statistics @@ -6220,10 +6224,10 @@ index bde8c06..42d6a7b 100644 int m_speed; bool m_preroll; -From fa541caf9b865c84267f4173ddbbc7125891551f Mon Sep 17 00:00:00 2001 +From 9e5e289b1384d78772920dbeffcee577d8aeb99e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Jul 2015 22:53:21 +0100 -Subject: [PATCH 69/78] [mmalcodec] Tidy up setting of timestamp flags +Subject: [PATCH 69/87] [mmalcodec] Tidy up setting of timestamp flags --- xbmc/cores/omxplayer/OMXVideo.cpp | 27 ++++++++++++++------------- @@ -6277,10 +6281,10 @@ index 832a9c9..1a08aa9 100644 memcpy(omx_buffer->pBuffer, demuxer_content, omx_buffer->nFilledLen); -From 4b4e9d07037b9c8174f9e94f0fc8e613f2e69b6c Mon Sep 17 00:00:00 2001 +From 4858d812237020f71205a6ab1e0af891099f3167 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 25 Jul 2015 15:32:35 +0100 -Subject: [PATCH 70/78] [rbp] Only send changes in hw cursor state +Subject: [PATCH 70/87] [rbp] Only send changes in hw cursor state --- xbmc/linux/RBP.cpp | 9 ++++++++- @@ -6331,10 +6335,10 @@ index f233a5e..be0cafc 100644 void set_cursor(const void *pixels, int width, int height, int hotspot_x, int hotspot_y); void update_cursor(int x, int y, bool enabled); -From ba118a42fd57aea853f2a869dc93f325eb20f8cb Mon Sep 17 00:00:00 2001 +From 68935db0771fe14373c061420ffbbca5596a3a74 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Jul 2015 00:08:58 +0100 -Subject: [PATCH 71/78] [mmalcodec] Use both dts and pts for determining amount +Subject: [PATCH 71/87] [mmalcodec] Use both dts and pts for determining amount of queued data --- @@ -6397,10 +6401,10 @@ index 42d6a7b..f8f5209 100644 int m_speed; bool m_preroll; -From e2c51d36ef4283b01faf81014f6df1c328d8cd97 Mon Sep 17 00:00:00 2001 +From ddd17d3dfb6c4b2043b024ff1ee33bc6b9a3bcf0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Jul 2015 17:47:33 +0100 -Subject: [PATCH 72/78] [rbp] Refactor the vsync handle to support multiple +Subject: [PATCH 72/87] [rbp] Refactor the vsync handle to support multiple callers --- @@ -6541,10 +6545,10 @@ index be0cafc..0572b47 100644 CCriticalSection m_critSection; -From 25b97dad714c40d7f5bc254237dfe303635dfc9c Mon Sep 17 00:00:00 2001 +From 6496fa447a357d146816badb32a4510be40fcfd3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 14:06:17 +0100 -Subject: [PATCH 73/78] [mmalrenderer] Wait for vsync before submitting to mmal +Subject: [PATCH 73/87] [mmalrenderer] Wait for vsync before submitting to mmal when display sync is disabled This avoids an issue where video occasionally goes stuttery after a seek, until the next pause/play or seek. @@ -6631,10 +6635,10 @@ index 9bced7e..ec279ed 100644 + void SubmitFrame(MMAL_BUFFER_HEADER_T *buffer); }; -From 76a3c63f0af369ff0bcf906f3890b67f9d03c3ff Mon Sep 17 00:00:00 2001 +From ad9373bf960c6c7c6e5cc00c59c9dfe856a7e07f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 15:07:22 +0100 -Subject: [PATCH 74/78] [omxplayer] Support per refresh rate display latency +Subject: [PATCH 74/87] [omxplayer] Support per refresh rate display latency settings --- @@ -6659,10 +6663,10 @@ index f06ee9c..4ad66a8 100644 m_omxVideo.Decode(pPacket->pData, pPacket->iSize, dts, m_hints.ptsinvalid ? DVD_NOPTS_VALUE : pts); -From b69979329ae249cb2ba4959d0bf59dcd2838054b Mon Sep 17 00:00:00 2001 +From 3da5401ecbe5206fcaafaf44fa6a2b6e6ee01700 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 15:46:18 +0100 -Subject: [PATCH 75/78] squash: release gfx lock when blocking +Subject: [PATCH 75/87] squash: release gfx lock when blocking --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 1 + @@ -6681,10 +6685,10 @@ index 2e2bc83..c80a8a6 100644 #if defined(MMAL_DEBUG_VERBOSE) CLog::Log(LOGDEBUG, "%s::%s - done vsync:%d", CLASSNAME, __func__, m_vsyncCount); -From af3782bcc1597444ef517c6426edeab184ca7d9d Mon Sep 17 00:00:00 2001 +From d0c1c12d6dfd9b3294fbaffcb22f2a63ea83c059 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 17:34:11 +0100 -Subject: [PATCH 76/78] [rbp] Leave 3D framepacking output disabled by default +Subject: [PATCH 76/87] [rbp] Leave 3D framepacking output disabled by default --- system/settings/rbp.xml | 2 +- @@ -6704,10 +6708,10 @@ index b27d23f..bf3b05f 100644 -From 6ee5be10bfd9d9e3dd219a81191e0a5e94b4f990 Mon Sep 17 00:00:00 2001 +From 1bc742744c2910add974ae145b4d72a8133f45ea Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 17:26:30 +0100 -Subject: [PATCH 77/78] [omxplayer] Allow automatic switching back to omxplayer +Subject: [PATCH 77/87] [omxplayer] Allow automatic switching back to omxplayer after it has been disabled Omxplayer gets disabled when it is unsuitable (e.g. software decoder required, or ALSA audio or AC3 transcode). @@ -6723,7 +6727,7 @@ This patch allows a switch back to omxplayer mode 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index 8252192..f8e7570 100644 +index 0ceae20..3fea73f 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -519,10 +519,11 @@ void CDVDPlayer::CreatePlayers() @@ -6755,10 +6759,10 @@ index 59479fe..014eaf1 100644 if (!CSettings::Get().GetBool("videoplayer.usemmal")) return false; -From c0678ee3627c08eac315da9c81187cc7bd61ff62 Mon Sep 17 00:00:00 2001 +From 32d171107d2184315f18e8eb7b23a78d218f2723 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 21:05:41 +0100 -Subject: [PATCH 78/78] [omxplayer] Set audio properties for passthrough +Subject: [PATCH 78/87] [omxplayer] Set audio properties for passthrough We weren't setting the stream_channels property for passthrough for omxplayer (we do with Pi Sink) That means we were using 2 in number of channels of the AudioInfoFrame packet, rather then 0 @@ -6780,3 +6784,416 @@ index 1911189..4072f7d 100644 m_SampleRate = m_format.m_sampleRate; m_BitsPerSample = CAEUtil::DataFormatToBits(m_format.m_dataFormat); + +From d0279d2a4dade7122fa5a82b8a5c78faa95c35cb Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Fri, 31 Jul 2015 16:38:06 +0100 +Subject: [PATCH 79/87] squash: mmal: increase queue limit to 1 second to avoid + stalls + +--- + xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +index 6cf4023..7fea172 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +@@ -859,7 +859,7 @@ int CMMALVideo::Decode(uint8_t* pData, int iSize, double dts, double pts) + else if (dts != DVD_NOPTS_VALUE) + m_demuxerPts = dts; + double queued = m_decoderPts != DVD_NOPTS_VALUE && m_demuxerPts != DVD_NOPTS_VALUE ? m_demuxerPts - m_decoderPts : 0.0; +- if (mmal_queue_length(m_dec_input_pool->queue) > 0 && !m_demux_queue_length && queued <= DVD_MSEC_TO_TIME(500)) ++ if (mmal_queue_length(m_dec_input_pool->queue) > 0 && !m_demux_queue_length && queued <= DVD_MSEC_TO_TIME(1000)) + { + if (g_advancedSettings.CanLogComponent(LOGVIDEO)) + CLog::Log(LOGDEBUG, "%s::%s - got space for output: demux_queue(%d) space(%d) queued(%.2f)", CLASSNAME, __func__, m_demux_queue_length, mmal_queue_length(m_dec_input_pool->queue) * m_dec_input->buffer_size, queued*1e-6); + +From c46855572563da98e026cb088a98ca70e7fd06fb Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 6 Aug 2015 11:25:08 +0100 +Subject: [PATCH 80/87] Revert "squash: release gfx lock when blocking" + +This reverts commit f10f0af15d0b57d148f5b3556fd9f94bb2f44509. +--- + xbmc/cores/VideoRenderers/MMALRenderer.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/xbmc/cores/VideoRenderers/MMALRenderer.cpp b/xbmc/cores/VideoRenderers/MMALRenderer.cpp +index c80a8a6..2e2bc83 100644 +--- a/xbmc/cores/VideoRenderers/MMALRenderer.cpp ++++ b/xbmc/cores/VideoRenderers/MMALRenderer.cpp +@@ -367,7 +367,6 @@ void CMMALRenderer::SubmitFrame(MMAL_BUFFER_HEADER_T *buffer) + #if defined(MMAL_DEBUG_VERBOSE) + CLog::Log(LOGDEBUG, "%s::%s - buffer:%p vfps:%.3f dfps:%.3f vsync:%d dsync:%d", CLASSNAME, __func__, buffer, m_fps, g_graphicsContext.GetFPS(), m_vsyncCount, CSettings::Get().GetBool("videoplayer.usedisplayasclock")); + #endif +- CSingleExit lock(g_graphicsContext); + m_vsyncCount = g_RBP.WaitVsync(m_vsyncCount) + 1; + #if defined(MMAL_DEBUG_VERBOSE) + CLog::Log(LOGDEBUG, "%s::%s - done vsync:%d", CLASSNAME, __func__, m_vsyncCount); + +From 6b04f338107be6c497f6b0632bfd77cf4b44eb93 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 6 Aug 2015 11:25:21 +0100 +Subject: [PATCH 81/87] Revert "[mmalrenderer] Wait for vsync before submitting + to mmal when display sync is disabled" + +This reverts commit f1a4416194f75f75e2145ec3fe64aee1177d3ccc. +--- + xbmc/cores/VideoRenderers/MMALRenderer.cpp | 23 ++--------------------- + xbmc/cores/VideoRenderers/MMALRenderer.h | 2 -- + 2 files changed, 2 insertions(+), 23 deletions(-) + +diff --git a/xbmc/cores/VideoRenderers/MMALRenderer.cpp b/xbmc/cores/VideoRenderers/MMALRenderer.cpp +index 2e2bc83..fb92079 100644 +--- a/xbmc/cores/VideoRenderers/MMALRenderer.cpp ++++ b/xbmc/cores/VideoRenderers/MMALRenderer.cpp +@@ -208,7 +208,6 @@ CMMALRenderer::CMMALRenderer() + m_bMMALConfigured = false; + m_iYV12RenderBuffer = 0; + m_sharpness = -2.0f; +- m_vsyncCount = ~0; + } + + CMMALRenderer::~CMMALRenderer() +@@ -358,24 +357,6 @@ void CMMALRenderer::Update() + ManageDisplay(); + } + +-void CMMALRenderer::SubmitFrame(MMAL_BUFFER_HEADER_T *buffer) +-{ +- if (!CSettings::Get().GetBool("videoplayer.usedisplayasclock")) +- { +- if (fabs(m_fps - g_graphicsContext.GetFPS()) < 1e-2) +- { +- #if defined(MMAL_DEBUG_VERBOSE) +- CLog::Log(LOGDEBUG, "%s::%s - buffer:%p vfps:%.3f dfps:%.3f vsync:%d dsync:%d", CLASSNAME, __func__, buffer, m_fps, g_graphicsContext.GetFPS(), m_vsyncCount, CSettings::Get().GetBool("videoplayer.usedisplayasclock")); +- #endif +- m_vsyncCount = g_RBP.WaitVsync(m_vsyncCount) + 1; +- #if defined(MMAL_DEBUG_VERBOSE) +- CLog::Log(LOGDEBUG, "%s::%s - done vsync:%d", CLASSNAME, __func__, m_vsyncCount); +- #endif +- } +- } +- mmal_port_send_buffer(m_vout_input, buffer); +-} +- + void CMMALRenderer::RenderUpdate(bool clear, DWORD flags, DWORD alpha) + { + CSingleLock lock(m_sharedSection); +@@ -421,7 +402,7 @@ void CMMALRenderer::RenderUpdate(bool clear, DWORD flags, DWORD alpha) + return; + omvb->Acquire(); + omvb->mmal_buffer->flags |= MMAL_BUFFER_HEADER_FLAG_USER1 | MMAL_BUFFER_HEADER_FLAG_USER2; +- SubmitFrame(omvb->mmal_buffer); ++ mmal_port_send_buffer(m_vout_input, omvb->mmal_buffer); + } + else + CLog::Log(LOGDEBUG, "%s::%s - No buffer to update", CLASSNAME, __func__); +@@ -436,7 +417,7 @@ void CMMALRenderer::RenderUpdate(bool clear, DWORD flags, DWORD alpha) + return; + // sanity check it is not on display + buffer->mmal_buffer->flags |= MMAL_BUFFER_HEADER_FLAG_USER1 | MMAL_BUFFER_HEADER_FLAG_USER2; +- SubmitFrame(buffer->mmal_buffer); ++ mmal_port_send_buffer(m_vout_input, buffer->mmal_buffer); + } + else + CLog::Log(LOGDEBUG, "%s::%s - No buffer to update", CLASSNAME, __func__); +diff --git a/xbmc/cores/VideoRenderers/MMALRenderer.h b/xbmc/cores/VideoRenderers/MMALRenderer.h +index ec279ed..9bced7e 100644 +--- a/xbmc/cores/VideoRenderers/MMALRenderer.h ++++ b/xbmc/cores/VideoRenderers/MMALRenderer.h +@@ -99,7 +99,6 @@ class CMMALRenderer : public CBaseRenderer + unsigned int m_destWidth; + unsigned int m_destHeight; + int m_neededBuffers; +- int m_vsyncCount; + + CRect m_src_rect; + CRect m_dst_rect; +@@ -116,5 +115,4 @@ class CMMALRenderer : public CBaseRenderer + bool init_vout(ERenderFormat format); + void ReleaseBuffers(); + void UnInitMMAL(); +- void SubmitFrame(MMAL_BUFFER_HEADER_T *buffer); + }; + +From 58caaea7ca2dd3fc49aa9a1eb0ddbb59b5a8d047 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 6 Aug 2015 11:25:30 +0100 +Subject: [PATCH 82/87] Revert "[rbp] Refactor the vsync handle to support + multiple callers" + +This reverts commit 68bd91282359a9da4645af4eeead7b2842f835eb. +--- + xbmc/linux/RBP.cpp | 68 ++++++++++++++++++++++++------------------------------ + xbmc/linux/RBP.h | 7 ++---- + 2 files changed, 32 insertions(+), 43 deletions(-) + +diff --git a/xbmc/linux/RBP.cpp b/xbmc/linux/RBP.cpp +index 901250e..3953740 100644 +--- a/xbmc/linux/RBP.cpp ++++ b/xbmc/linux/RBP.cpp +@@ -66,7 +66,6 @@ CRBP::CRBP() + m_enabled = 0; + m_mb = mbox_open(); + vcsm_init(); +- m_vsync_count = 0; + } + + CRBP::~CRBP() +@@ -144,45 +143,11 @@ void CRBP::LogFirmwareVerison() + CLog::Log(LOGNOTICE, "Config:\n%s", response); + } + +-static void vsync_callback_static(DISPMANX_UPDATE_HANDLE_T u, void *arg) +-{ +- CRBP *rbp = reinterpret_cast(arg); +- rbp->VSyncCallback(); +-} +- +-void CRBP::VSyncCallback() +-{ +- CSingleLock lock(m_vsync_lock); +- m_vsync_count++; +- m_vsync_cond.notifyAll(); +-} +- +-unsigned int CRBP::WaitVsync(unsigned int target) +-{ +- CSingleLock lock(m_vsync_lock); +- if (target == ~0U) +- target = m_vsync_count+1; +- +- if (m_display == DISPMANX_NO_HANDLE) +- { +- CLog::Log(LOGDEBUG, "CRBP::%s skipping while display closed", __func__); +- return m_vsync_count; +- } +- +- while (m_vsync_count < target) +- if (!m_vsync_cond.wait(lock, 100)) +- break; +- +- return m_vsync_count; +-} +- + DISPMANX_DISPLAY_HANDLE_T CRBP::OpenDisplay(uint32_t device) + { + if (m_display == DISPMANX_NO_HANDLE) + { + m_display = vc_dispmanx_display_open( 0 /*screen*/ ); +- int s = vc_dispmanx_vsync_callback(m_display, vsync_callback_static, (void *)this); +- assert(s == 0); + init_cursor(); + } + return m_display; +@@ -191,11 +156,9 @@ DISPMANX_DISPLAY_HANDLE_T CRBP::OpenDisplay(uint32_t device) + void CRBP::CloseDisplay(DISPMANX_DISPLAY_HANDLE_T display) + { + assert(display == m_display); +- int s = vc_dispmanx_vsync_callback(m_display, NULL, NULL); +- assert(s == 0); +- uninit_cursor(); + vc_dispmanx_display_close(m_display); + m_display = DISPMANX_NO_HANDLE; ++ uninit_cursor(); + } + + void CRBP::GetDisplaySize(int &width, int &height) +@@ -248,6 +211,35 @@ unsigned char *CRBP::CaptureDisplay(int width, int height, int *pstride, bool sw + return image; + } + ++ ++static void vsync_callback(DISPMANX_UPDATE_HANDLE_T u, void *arg) ++{ ++ CEvent *sync = (CEvent *)arg; ++ sync->Set(); ++} ++ ++void CRBP::WaitVsync() ++{ ++ int s; ++ DISPMANX_DISPLAY_HANDLE_T m_display = vc_dispmanx_display_open( 0 /*screen*/ ); ++ if (m_display == DISPMANX_NO_HANDLE) ++ { ++ CLog::Log(LOGDEBUG, "CRBP::%s skipping while display closed", __func__); ++ return; ++ } ++ m_vsync.Reset(); ++ s = vc_dispmanx_vsync_callback(m_display, vsync_callback, (void *)&m_vsync); ++ if (s == 0) ++ { ++ m_vsync.WaitMSec(1000); ++ } ++ else assert(0); ++ s = vc_dispmanx_vsync_callback(m_display, NULL, NULL); ++ assert(s == 0); ++ vc_dispmanx_display_close( m_display ); ++} ++ ++ + void CRBP::Deinitialize() + { + if (m_omx_image_init) +diff --git a/xbmc/linux/RBP.h b/xbmc/linux/RBP.h +index 0572b47..be0cafc 100644 +--- a/xbmc/linux/RBP.h ++++ b/xbmc/linux/RBP.h +@@ -65,8 +65,7 @@ class CRBP + // stride can be null for packed output + unsigned char *CaptureDisplay(int width, int height, int *stride, bool swap_red_blue, bool video_only = true); + DllOMX *GetDllOMX() { return m_OMX ? m_OMX->GetDll() : NULL; } +- unsigned int WaitVsync(unsigned int target = ~0U); +- void VSyncCallback(); ++ void WaitVsync(); + double AdjustHDMIClock(double adjust); + + private: +@@ -81,9 +80,7 @@ class CRBP + bool m_codec_wvc1_enabled; + COMXCore *m_OMX; + DISPMANX_DISPLAY_HANDLE_T m_display; +- CCriticalSection m_vsync_lock; +- XbmcThreads::ConditionVariable m_vsync_cond; +- unsigned int m_vsync_count; ++ CEvent m_vsync; + class DllLibOMXCore; + CCriticalSection m_critSection; + + +From af0aa61f6d78364f9b65c413b87d2e09953aa449 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 6 Aug 2015 11:23:05 +0100 +Subject: [PATCH 83/87] [rbp] Make sync playback to display the default option + +--- + system/settings/rbp.xml | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/system/settings/rbp.xml b/system/settings/rbp.xml +index bf3b05f..0743176 100644 +--- a/system/settings/rbp.xml ++++ b/system/settings/rbp.xml +@@ -1,6 +1,13 @@ + + +
++ ++ ++ ++ true ++ ++ ++ + + + false + +From 7470bc8ba9710bd15e180d96ee72ee58a545c766 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Fri, 31 Jul 2015 18:39:31 +0100 +Subject: [PATCH 84/87] [mmalcodec] Tidy up debug logging for decode + +--- + xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 16 ++++------------ + 1 file changed, 4 insertions(+), 12 deletions(-) + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +index 7fea172..756b845 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +@@ -860,11 +860,7 @@ int CMMALVideo::Decode(uint8_t* pData, int iSize, double dts, double pts) + m_demuxerPts = dts; + double queued = m_decoderPts != DVD_NOPTS_VALUE && m_demuxerPts != DVD_NOPTS_VALUE ? m_demuxerPts - m_decoderPts : 0.0; + if (mmal_queue_length(m_dec_input_pool->queue) > 0 && !m_demux_queue_length && queued <= DVD_MSEC_TO_TIME(1000)) +- { +- if (g_advancedSettings.CanLogComponent(LOGVIDEO)) +- CLog::Log(LOGDEBUG, "%s::%s - got space for output: demux_queue(%d) space(%d) queued(%.2f)", CLASSNAME, __func__, m_demux_queue_length, mmal_queue_length(m_dec_input_pool->queue) * m_dec_input->buffer_size, queued*1e-6); + ret |= VC_BUFFER; +- } + else + m_preroll = false; + +@@ -873,21 +869,17 @@ int CMMALVideo::Decode(uint8_t* pData, int iSize, double dts, double pts) + + if (!m_output_ready.empty() && !m_preroll) + { +- if (g_advancedSettings.CanLogComponent(LOGVIDEO)) +- CLog::Log(LOGDEBUG, "%s::%s - got output picture:%d", CLASSNAME, __func__, m_output_ready.size()); + ret |= VC_PICTURE; + // renderer is low - give priority to returning pictures + if (0 && m_codecControlFlags & DVD_CODEC_CTRL_DRAIN) + ret &= ~VC_BUFFER; + } + if (!ret) +- { +- if (g_advancedSettings.CanLogComponent(LOGVIDEO)) +- CLog::Log(LOGDEBUG, "%s::%s - Nothing to do: ready_queue(%d) demux_queue(%d) space(%d) preroll(%d)", +- CLASSNAME, __func__, m_output_ready.size(), m_demux_queue_length, mmal_queue_length(m_dec_input_pool->queue) * m_dec_input->buffer_size, m_preroll); +- lock.Leave(); + Sleep(10); // otherwise we busy spin +- } ++ ++ if (g_advancedSettings.CanLogComponent(LOGVIDEO)) ++ CLog::Log(LOGDEBUG, "%s::%s - ret(%x) pics(%d) demux_queue(%d) space(%d) queued(%.2f) preroll(%d) flags(%x)", CLASSNAME, __func__, ret, m_output_ready.size(), m_demux_queue_length, mmal_queue_length(m_dec_input_pool->queue) * m_dec_input->buffer_size, queued*1e-6, m_preroll, m_codecControlFlags); ++ + return ret; + } + + +From 4848cab3632652bfaa89f0e822a1b224015f2427 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 6 Aug 2015 13:25:32 +0100 +Subject: [PATCH 85/87] [rbp] Don't enable DTS-HD by default on Pi2 + +Reports of no audio with omxplayer and this enabled +that are not yet understood +--- + system/settings/rbp2.xml | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/system/settings/rbp2.xml b/system/settings/rbp2.xml +index 1c8b116..52778ecd 100644 +--- a/system/settings/rbp2.xml ++++ b/system/settings/rbp2.xml +@@ -19,11 +19,6 @@ + + + +- +- +- true +- +- + + + + +From 4a133a4a6c64f9c4811f10e8cecd4036080d15b8 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Fri, 7 Aug 2015 18:09:09 +0100 +Subject: [PATCH 86/87] Revert "[rbp] Don't enable DTS-HD by default on Pi2" + +This reverts commit 8166e8990b8cf599cc4eb1641c58fad1f1f0821f. +--- + system/settings/rbp2.xml | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/system/settings/rbp2.xml b/system/settings/rbp2.xml +index 52778ecd..1c8b116 100644 +--- a/system/settings/rbp2.xml ++++ b/system/settings/rbp2.xml +@@ -19,6 +19,11 @@ + + + ++ ++ ++ true ++ ++ + + +