From eb0ed51a8ed264c0544ef786ffa48bedab6f6462 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 23 Sep 2015 22:40:51 +0200 Subject: [PATCH] projects/RPi*/patches/kodi: update RPi* support patches Signed-off-by: Stephan Raue --- .../kodi-001-isengard-rpb-backports.patch | 611 +++++++++++------- .../kodi-001-isengard-rpb-backports.patch | 611 +++++++++++------- 2 files changed, 772 insertions(+), 450 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 5901e4693b..dbd11bc633 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 27c098f81eec4d6c91e929fb7673640fccd88993 Mon Sep 17 00:00:00 2001 +From e47d1541cb23c8667c0403003380ebd76a703251 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 18:19:32 +0100 -Subject: [PATCH 01/97] [rbp/omxplayer] When opening a stream don't try to +Subject: [PATCH 001/100] [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 ebbadf9ecbe46aff57ab31aa0900c691dacc8789 Mon Sep 17 00:00:00 2001 +From f951f557431145e47108b7fb3c2c8f47a9c07893 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Mar 2014 15:36:06 +0000 -Subject: [PATCH 03/97] [hifiberry] Hack: force it to be recognised as IEC958 +Subject: [PATCH 003/100] [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 d50f06493551f65a61159b0b3140172ff32c2c93 Mon Sep 17 00:00:00 2001 +From d2026ad2027d69138df4f058fb60a0a0cc305c7e Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 1 May 2014 16:28:39 +0100 -Subject: [PATCH 04/97] Improved file buffering in CArchive +Subject: [PATCH 004/100] 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 e677c063cf52652c9ca299f0bbe70652f9fd63eb Mon Sep 17 00:00:00 2001 +From 7a6f6fdb69f093b604e353f5fdf55e336d308a75 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 12 Aug 2014 00:31:36 +0100 -Subject: [PATCH 05/97] [omxcodec] Don't force software codec with dvds +Subject: [PATCH 005/100] [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 7c84557..87463a7 100644 +index f6ffe4e..74f3f9b 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 7c84557..87463a7 100644 else if (m_pInputStream && m_pInputStream->IsStreamType(DVDSTREAM_TYPE_PVRMANAGER)) { -From 01b3d88ff0d057cc16039da6e5d25158ce4d80d1 Mon Sep 17 00:00:00 2001 +From 7d01f78144c9bc8dc9df5ca8da03dcf5c33d86d9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 10 Aug 2014 16:45:16 +0100 -Subject: [PATCH 06/97] filesystem: Make support of browsing into archives +Subject: [PATCH 006/100] 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,11 +224,11 @@ index 5af92e7..568a1a8 100644 { // XBMC Smart playlist - just XML renamed to XSP // read the name of the playlist in -From 077c929b867702c7d59ce2289d54cec56a4018e7 Mon Sep 17 00:00:00 2001 +From 601a45ff9b262f64000ee50e1cfc6869b410c55e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 13:06:57 +0000 -Subject: [PATCH 08/97] [rbp] Make cachemembuffersize default depend on memory - size +Subject: [PATCH 008/100] [rbp] Make cachemembuffersize default depend on + memory size --- xbmc/linux/RBP.cpp | 10 ++++++++++ @@ -329,10 +329,10 @@ index 2e3282c..d1606a2 100644 } -From 4bb600b92009d43e32124eb8bf6ae95603ae93a8 Mon Sep 17 00:00:00 2001 +From 4e426c5505fb01f64a272f191ca22eb542483de9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 30 May 2014 14:58:43 +0100 -Subject: [PATCH 10/97] [settings] Experiment: Report DESKTOP resolution in +Subject: [PATCH 010/100] [settings] Experiment: Report DESKTOP resolution in video settings --- @@ -354,10 +354,11 @@ index 4376463..fc4e5ea 100644 StringUtils::Format("%dx%d%s", resolution->width, resolution->height, ModeFlagsToString(resolution->flags, false).c_str()), -From b48b69bcd2f0621befc05b30063874ccfbed6395 Mon Sep 17 00:00:00 2001 +From 047f52b5ba5f87c6a05fc49f0ff47f964cc2151a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Sep 2014 12:04:26 +0100 -Subject: [PATCH 11/97] egl: Treat unknown display aspect ratio as square pixel +Subject: [PATCH 011/100] egl: Treat unknown display aspect ratio as square + pixel --- xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 4 ++-- @@ -386,10 +387,10 @@ index bda7430..68fc647 100644 SetResolutionString(m_desktopRes); -From 3e868e74d23640e8f75f56d2eeabbfd6948e4205 Mon Sep 17 00:00:00 2001 +From 5f56f492ee9849b8745a88007c392bed8e042989 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 19 Sep 2014 11:54:49 +0100 -Subject: [PATCH 12/97] [dvdplayer/rbp] Add pi specific option to maintain +Subject: [PATCH 012/100] [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". @@ -681,10 +682,10 @@ index 7df1bf7..732b69d 100644 float m_audioPlayCountMinimumPercent; bool m_dvdplayerIgnoreDTSinWAV; -From 714598484af7ea5d846e80e4e6dbf7e51e1e7bf4 Mon Sep 17 00:00:00 2001 +From 258c2af821a608c1ed92f95e8e063da8d0083a1f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 24 Sep 2014 23:13:52 +0100 -Subject: [PATCH 13/97] [audio] Add settings option to boost centre channel +Subject: [PATCH 013/100] [audio] Add settings option to boost centre channel when downmixing This allows a dB volume increase to be added to centre channel. @@ -806,10 +807,10 @@ index f99c0e6..1911189 100644 // stereo upmix if (upmix && m_src_channels == 2 && m_dst_channels > 2) -From 646c5985702e78bada6bbd9f74fbf442e5bacbd5 Mon Sep 17 00:00:00 2001 +From 1b614d6e694731175e5f4d3dcc98c306bdad9605 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 15:23:51 +0000 -Subject: [PATCH 14/97] [rbp] Default extract thumbnails to false +Subject: [PATCH 014/100] [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 @@ -839,11 +840,11 @@ index 50fe36a..a54a4c4 100644
-From 4d538f222e65dac1aab9238ee206dae98e8b745d Mon Sep 17 00:00:00 2001 +From c45f209653ef09eeb39dc379e1905c5b303c416f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 10 Feb 2015 15:29:16 +0000 -Subject: [PATCH 15/97] [libcec] Add repeating keypress patch from popcornmix' - repo +Subject: [PATCH 015/100] [libcec] Add repeating keypress patch from + popcornmix' repo --- tools/depends/target/libcec/Makefile | 1 + @@ -1729,10 +1730,10 @@ index 0000000..8366a69 +1.9.1 + -From 9f185ce92005dc1da7c54b0538b9be627398414c Mon Sep 17 00:00:00 2001 +From 37dcb167b785348191b06076280a03ab2a5781bd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Oct 2014 00:19:40 +0000 -Subject: [PATCH 16/97] [cec] Add settings for configuring button repeats +Subject: [PATCH 016/100] [cec] Add settings for configuring button repeats --- addons/resource.language.en_gb/resources/strings.po | 15 +++++++++++++++ @@ -1813,10 +1814,11 @@ index ea702e5..b5ff693 100644 void CPeripheralCecAdapter::ReadLogicalAddresses(const std::string &strString, cec_logical_addresses &addresses) -From 41b622065e0b8c4b9ac882c860b352bc893af904 Mon Sep 17 00:00:00 2001 +From 0316bb54444adacdfca76490a4778df1a719dd42 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Nov 2014 23:17:46 +0000 -Subject: [PATCH 17/97] [cec] Don't discard buttons when repeat mode is enabled +Subject: [PATCH 017/100] [cec] Don't discard buttons when repeat mode is + enabled --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 5 ++++- @@ -1839,10 +1841,10 @@ index b5ff693..6086bf5 100644 if (m_currentButton.iButton == key.iButton && m_currentButton.iDuration == 0) { -From 67d598e18250aeee6968a37d6c061b50658ef2fc Mon Sep 17 00:00:00 2001 +From 661701e323eea8a09ddc5cbf7dfccf928b2d7af5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 4 Nov 2014 18:50:00 +0000 -Subject: [PATCH 18/97] [cec] Temp - more logging +Subject: [PATCH 018/100] [cec] Temp - more logging --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 8 +++++++- @@ -1894,10 +1896,10 @@ index 6086bf5..417b0d8 100644 } -From db0fd492436ac8612452651d95fd013b66e5cb7f Mon Sep 17 00:00:00 2001 +From b3aecd497b997fa71927edd39446994057081df7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 15 Nov 2014 12:03:34 +0000 -Subject: [PATCH 19/97] [dvdplayer] Add lock for player creation +Subject: [PATCH 019/100] [dvdplayer] Add lock for player creation --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 3 +++ @@ -1905,7 +1907,7 @@ Subject: [PATCH 19/97] [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 87463a7..0ceae20 100644 +index 74f3f9b..3118be2 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 @@ -1943,10 +1945,10 @@ index ab6a228..32e76c1 100644 + CCriticalSection m_players_lock; }; -From ba714e2c52c3b2b54d0aa36feb038e0988c10f30 Mon Sep 17 00:00:00 2001 +From ee762026329d0d0c0ff8e312cf04ecf9957b0fd0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 24 Nov 2014 22:07:25 +0000 -Subject: [PATCH 20/97] [dvdplayervideo] Prod decoder when in stills mode +Subject: [PATCH 020/100] [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. @@ -1955,7 +1957,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 46fa635..03c876d 100644 +index 0fe56c3..6ad751f 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -314,7 +314,8 @@ void CDVDPlayerVideo::Process() @@ -2023,10 +2025,10 @@ index 46fa635..03c876d 100644 if (pMsg->IsType(CDVDMsg::GENERAL_SYNCHRONIZE)) -From 0008ee91faf07eede19fd97c7296825b67e1264b Mon Sep 17 00:00:00 2001 +From 4003daa7468e7fc4d1d03ac9052556e85dad5257 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 27 Nov 2014 16:31:56 +0000 -Subject: [PATCH 21/97] [languageinvoker] Reduce priority of python threads +Subject: [PATCH 021/100] [languageinvoker] Reduce priority of python threads --- xbmc/interfaces/generic/LanguageInvokerThread.cpp | 5 +++++ @@ -2049,10 +2051,10 @@ index fcdd063..16f0c89 100644 } -From ca83d5d34edf353902c7bbaa702f2dbbca5cffbc Mon Sep 17 00:00:00 2001 +From 9418301c4366ecd2523be64ab449d99c76bfab34 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Dec 2013 16:55:05 +0000 -Subject: [PATCH 22/97] logging: Add microsecond timer to log messages +Subject: [PATCH 022/100] logging: Add microsecond timer to log messages --- xbmc/utils/log.cpp | 17 +++++++++++++++-- @@ -2105,11 +2107,11 @@ index 3443f12..31c4a99 100644 levelNames[logLevel]) + strData; -From adced8a3f90b0de05070f5fb7877c0cf97ae3951 Mon Sep 17 00:00:00 2001 +From c14e940dfd1abdf2bd2eb7e3c5caa25714254844 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 29 Nov 2014 15:25:16 +0000 -Subject: [PATCH 23/97] [rbp] hack: wait for splash to complete before changing - hdmi mode +Subject: [PATCH 023/100] [rbp] hack: wait for splash to complete before + changing hdmi mode --- xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 49 +++++++++++++++++++++++++ @@ -2182,10 +2184,10 @@ index 68fc647..c80114e 100644 if(!m_fixedMode && GETFLAGS_GROUP(res.dwFlags) && GETFLAGS_MODE(res.dwFlags)) -From fb7d35b6bc61c996e744be515faa849dfc0f1a24 Mon Sep 17 00:00:00 2001 +From a26352b358cb4a77073a81ad9d1b0fa20aa5b894 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 11 Dec 2014 17:00:57 +0000 -Subject: [PATCH 24/97] Fix for UI not showing both extractflags and +Subject: [PATCH 024/100] Fix for UI not showing both extractflags and extractthumb --- @@ -2249,10 +2251,10 @@ index 4843ab8..f1cbefa 100644 -From 429d7afba781d741b6911f9de9f3ec03be13429f Mon Sep 17 00:00:00 2001 +From b8b1bae07104af45f1945aca34f0424191271be1 Mon Sep 17 00:00:00 2001 From: anaconda Date: Thu, 11 Sep 2014 21:30:43 +0200 -Subject: [PATCH 25/97] Disable autoscrolling while on screensaver and while +Subject: [PATCH 025/100] Disable autoscrolling while on screensaver and while opening streams. --- @@ -2265,7 +2267,7 @@ Subject: [PATCH 25/97] 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 352df29..c83e0a4 100644 +index a891be6..a1e3a3f 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -4981,3 +4981,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const @@ -2383,10 +2385,10 @@ index 2cdbf1c..42be75d 100644 if (m_lastRenderTime) m_autoScrollDelayTime += currentTime - m_lastRenderTime; -From f1896dc4a871edff5a4bc7f2549b5675c0a53b67 Mon Sep 17 00:00:00 2001 +From ee6e4e8972c094ac86c7fba991e6df8ff747b194 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 13 Dec 2014 18:35:20 +0000 -Subject: [PATCH 26/97] [demuxer] Avoid memcpy on every demuxer packet +Subject: [PATCH 026/100] [demuxer] Avoid memcpy on every demuxer packet Avoids an unnecessary memcpy on every demuxer packet which for high bitrate videos can be significant. @@ -2481,10 +2483,10 @@ index ab298b2..10c5ee0 100644 } catch(...) { -From 3da5f58723e112654b864b7b5f8b0f30116e29cc Mon Sep 17 00:00:00 2001 +From a5664b17a3642e79b35fb7b3171efa1e6622713f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 15 Feb 2015 14:06:12 +0000 -Subject: [PATCH 27/97] [mmal] Allow mmal codec for dvd stills +Subject: [PATCH 027/100] [mmal] Allow mmal codec for dvd stills --- xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp | 7 +++++++ @@ -2516,11 +2518,11 @@ index 4c363cf..b90237b 100644 { // If dvd is an mpeg2 and hint.stills -From 02ce56be5917ca2c6c24674e6a2c36870ebdd936 Mon Sep 17 00:00:00 2001 +From efc5a90bf03956e838be61999b255d7cbbddf187 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 31 Mar 2015 17:31:47 +0100 -Subject: [PATCH 28/97] [mmalrenderer] Add SetCodecControl function and prefer - to return pictures when renderer is low (disabled) +Subject: [PATCH 028/100] [mmalrenderer] Add SetCodecControl function and + prefer to return pictures when renderer is low (disabled) --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 13 +++++++++++++ @@ -2590,10 +2592,10 @@ index 51a64d1..bde8c06 100644 CCriticalSection m_sharedSection; MMAL_COMPONENT_T *m_dec; -From aa2973a30f567d12eb1302365ad4c924dd1146be Mon Sep 17 00:00:00 2001 +From 89064f91aa8be8e9e519d349e778edf3b399d656 Mon Sep 17 00:00:00 2001 From: anaconda Date: Wed, 25 Feb 2015 18:22:21 +0100 -Subject: [PATCH 29/97] Load OSD dialogs on startup. +Subject: [PATCH 029/100] 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. @@ -2688,10 +2690,10 @@ index 9f25fa5..3ece45b 100644 CGUIDialogVideoSettings::~CGUIDialogVideoSettings() { } -From 8e9136e385a30eaa7ae5928c1d9f6f6a2698eb4b Mon Sep 17 00:00:00 2001 +From 42a4147584fc33654b862212362f17ee751713ee Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 7 Mar 2015 22:46:21 +0000 -Subject: [PATCH 30/97] configure: Add raspberry-pi2 platform +Subject: [PATCH 030/100] configure: Add raspberry-pi2 platform --- configure.ac | 14 +++++++-- @@ -2703,7 +2705,7 @@ Subject: [PATCH 30/97] configure: Add raspberry-pi2 platform 6 files changed, 44 insertions(+), 22 deletions(-) diff --git a/configure.ac b/configure.ac -index 7265637..03e44ac 100644 +index fe689d6..78f4add 100644 --- a/configure.ac +++ b/configure.ac @@ -744,8 +744,17 @@ case $use_platform in @@ -2865,10 +2867,10 @@ index cdc2fe4..379bd1d 100644 set(CMAKE_SYSTEM_NAME Linux) endif() -From 41107ebd4976d70e5931a811a6931898055ec8e9 Mon Sep 17 00:00:00 2001 +From e14488115b0b428a646e6a9da85aee8028e11565 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 10 Mar 2015 17:05:18 +0000 -Subject: [PATCH 31/97] [players] Add settings option to enable MVC support +Subject: [PATCH 031/100] [players] Add settings option to enable MVC support --- addons/resource.language.en_gb/resources/strings.po | 10 ++++++++++ @@ -2949,10 +2951,10 @@ index e4f6d86..5d324f4 100644 case AV_CODEC_ID_MPEG4: // (role name) video_decoder.mpeg4 -From 3f7aaf967f321184ad35378573d0eef4fd264102 Mon Sep 17 00:00:00 2001 +From 0c601d3f8b448e1504bbe2e929204b74f1a0fa58 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Mar 2015 12:38:08 +0000 -Subject: [PATCH 32/97] [mmalrenderer] Switch to using transform flags for 3d +Subject: [PATCH 032/100] [mmalrenderer] Switch to using transform flags for 3d modes --- @@ -3331,10 +3333,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 ea99e969730a7b7d65018d8d2fb99c882ce6939c Mon Sep 17 00:00:00 2001 + +From e580c75ce004451233fd7aed98610257ce8516fc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 14 Apr 2015 20:51:14 +0100 -Subject: [PATCH 35/97] [gui] Also limit GUI updates when in non full-screen +Subject: [PATCH 035/100] [gui] Also limit GUI updates when in non full-screen video mode --- @@ -3342,7 +3345,7 @@ Subject: [PATCH 35/97] [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 c83e0a4..5776389 100644 +index a1e3a3f..a2a8691 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -2489,7 +2489,7 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) @@ -3364,10 +3367,10 @@ index c83e0a4..5776389 100644 g_windowManager.FrameMove(); } -From e1b16727bf9aa69e80d98d3375325f28853f4077 Mon Sep 17 00:00:00 2001 +From 6fd33b1d1fdbf9a4b8a2a1242c6151a3ae704e8e Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:24:42 +0200 -Subject: [PATCH 36/97] Added some vc_tv_* functions that were missing in +Subject: [PATCH 036/100] Added some vc_tv_* functions that were missing in DllBCM. --- @@ -3402,10 +3405,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 4dc37830ffa8d4ed07cd59f1b506ad1ce7e8fed4 Mon Sep 17 00:00:00 2001 +From 8902d26970b4364d73a022f6977521d5e3931cab Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:29:03 +0200 -Subject: [PATCH 37/97] Added private utility function to map a float display +Subject: [PATCH 037/100] Added private utility function to map a float display aspect, to the respective SDTV_ASPECT_* enum value. --- @@ -3454,10 +3457,10 @@ index 3816b55..520bf95 100644 bool CEGLNativeTypeRaspberryPI::ProbeResolutions(std::vector &resolutions) -From 5560b6729902efdffa303cfeede42067a5fa8cb7 Mon Sep 17 00:00:00 2001 +From bc161d805562033507630fb1fb3961015e65debb Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 19:50:58 +0200 -Subject: [PATCH 38/97] Changed SDTV resolutions to be treated similarly to +Subject: [PATCH 038/100] 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. @@ -3554,10 +3557,10 @@ index 59401f5..a0acb1a 100644 int m_width; int m_height; -From 0e7eb3c3417c45ed5008c47c1dacf7f5954db57a Mon Sep 17 00:00:00 2001 +From f2f7d13d99a2a07e7ff50e22a0c8ef347372f2e0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 17:11:09 +0100 -Subject: [PATCH 39/97] Revert "[3D] don't back out from 3D handling on +Subject: [PATCH 039/100] 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. @@ -3592,10 +3595,10 @@ index bd7dff9..fc4cc95 100644 if(stereo_mode != m_stereoMode) -From 759b1380cddba63b448c9681d51db64609484c95 Mon Sep 17 00:00:00 2001 +From 322a3a3b109d52d38cf047410a7b09cae368754b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 10 Jun 2015 20:42:03 +0100 -Subject: [PATCH 40/97] [rbp] Fix zoom modes with stereoscopic videos +Subject: [PATCH 040/100] [rbp] Fix zoom modes with stereoscopic videos --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 12 ++++++++++-- @@ -3651,10 +3654,10 @@ index ba17a46..298eaff 100644 if (gui != display) { -From 0d4bf6d61b4469300a46db84795c123177ee2cfc Mon Sep 17 00:00:00 2001 +From d26ddebf3aa9030c9af5444402312a00454087d7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 17:42:03 +0100 -Subject: [PATCH 41/97] [WinSystemEGL] Remove unused Support3D function +Subject: [PATCH 041/100] [WinSystemEGL] Remove unused Support3D function --- xbmc/windowing/egl/WinSystemEGL.cpp | 29 ----------------------------- @@ -3714,11 +3717,11 @@ index 9d4baf6..1ec4225 100644 EGLConfig GetEGLConfig(); -From 21f8450e14bdea7ead6a3d0bf26a65444745668d Mon Sep 17 00:00:00 2001 +From b143b7e1557567102546e0024dfabc3c14647544 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 16 Apr 2014 21:18:06 +0100 -Subject: [PATCH 42/97] [omxplayer] Don't propagate 3d flags based on supported - 3d modes +Subject: [PATCH 042/100] [omxplayer] Don't propagate 3d flags based on + supported 3d modes --- xbmc/cores/omxplayer/OMXPlayerVideo.cpp | 29 +++-------------------------- @@ -3773,10 +3776,10 @@ index 298eaff..3bf7c2e 100644 unsigned int iDisplayHeight = height; -From a36a305d37fd881d12344d859a53002e13989e89 Mon Sep 17 00:00:00 2001 +From 7dfba284734131f43d27dbd8dd5b5def95ce91f7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 18:52:28 +0100 -Subject: [PATCH 43/97] [3d] Avoid switching stereo mode based on current +Subject: [PATCH 043/100] [3d] Avoid switching stereo mode based on current display mode --- @@ -3816,10 +3819,10 @@ index fc4cc95..e18232e 100644 RESOLUTION_INFO info_mod = GetResInfo(res); -From 1ac2844bd4a275ef5b6b50f6e66249c55d67e81c Mon Sep 17 00:00:00 2001 +From 44998e6fed4bba5175446b483f86074d6c41fff7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jun 2015 23:13:51 +0100 -Subject: [PATCH 44/97] [rpi] Always add desktop resolution to supported list +Subject: [PATCH 044/100] [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: @@ -3888,10 +3891,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 83c3b11b49dddd4df9e30ea6a879dcebd840fd80 Mon Sep 17 00:00:00 2001 +From 5089c4d05954af59297fd9f0960bf70db707bbfb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 18:53:29 +0100 -Subject: [PATCH 45/97] [rbp] Drop reporting 3D modes and just use current +Subject: [PATCH 045/100] [rbp] Drop reporting 3D modes and just use current rendering mode to request 3D signalling --- @@ -4048,11 +4051,11 @@ index 69ce9b7..25a97ad 100644 } if (supported_modes) -From f939e50fdb7323fa21ef366be148e0d786ea4619 Mon Sep 17 00:00:00 2001 +From 34d893fa7966aee5713548b781294fefcbb33c49 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 30 Jun 2015 14:08:24 +0100 -Subject: [PATCH 46/97] [rbp] Ignore video stereo mode when 3D display mode is - disabled +Subject: [PATCH 046/100] [rbp] Ignore video stereo mode when 3D display mode + is disabled --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 4 ++++ @@ -4090,10 +4093,10 @@ index 3bf7c2e..5f6b402 100644 if (m_hints.orientation == 90 || m_hints.orientation == 270) { -From 09b62cbefb2e5a3b5f231fbef3647ce46734bbdb Mon Sep 17 00:00:00 2001 +From b0df84434abb8b86d32d0e61c365c26b10c510dc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 16:27:15 +0100 -Subject: [PATCH 47/97] [EGL] Don't skip out when HDMI mode is considered the +Subject: [PATCH 047/100] [EGL] Don't skip out when HDMI mode is considered the same It might have different 3D signalling. TODO: keep track of 3D signalling @@ -4115,10 +4118,10 @@ index c43c4d0..13b75b1 100644 m_bFullScreen = fullScreen; -From b226d8094af9d08e0e8bdcb8308dc289b5ab26f6 Mon Sep 17 00:00:00 2001 +From bae1d271fec80a8707b447953e12b08934a0b163 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 21 Apr 2015 14:32:07 +0100 -Subject: [PATCH 48/97] [mmalrenderer] Add sharpness control +Subject: [PATCH 048/100] [mmalrenderer] Add sharpness control --- addons/resource.language.en_gb/resources/strings.po | 2 +- @@ -4190,17 +4193,17 @@ index 1404fb3..9bced7e 100644 CCriticalSection m_sharedSection; MMAL_COMPONENT_T *m_vout; -From 7faf2fc744fe86942e0ddf7546fde97a5c54b0e2 Mon Sep 17 00:00:00 2001 +From 33f42e33ae846ff3b3708870835255850080973a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Apr 2015 13:49:51 +0100 -Subject: [PATCH 49/97] [dvdplayer] Add back required include +Subject: [PATCH 049/100] [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 03c876d..c1ef9d4 100644 +index 6ad751f..40c0102 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -33,6 +33,7 @@ @@ -4212,10 +4215,10 @@ index 03c876d..c1ef9d4 100644 #include "guilib/GraphicContext.h" #include -From 66a98c2f79252c51a6817321a62499f76201ea6a Mon Sep 17 00:00:00 2001 +From 00ba5a7e69d67f0c102ef162fa7c13b3325a7550 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 May 2015 23:58:06 +0100 -Subject: [PATCH 50/97] [screensaver] Leave GUI contents available for +Subject: [PATCH 050/100] [screensaver] Leave GUI contents available for screensaver --- @@ -4245,10 +4248,10 @@ index aa6713d..590fcec 100644 // Add window to the history list (we must do this before we activate it, -From 5e649e09c5aae60275c9ef623d4c8056724ef915 Mon Sep 17 00:00:00 2001 +From a73c7d93b39be8ba657a7ea9635bc17bcb2ba759 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 15 May 2015 14:04:11 +0100 -Subject: [PATCH 52/97] [omxplayer] Make unsupported when ac3transcode is +Subject: [PATCH 052/100] [omxplayer] Make unsupported when ac3transcode is enabled --- @@ -4273,10 +4276,10 @@ index eff47e0..b954276 100644 { // find video stream -From f993c5bee35aa2a00a1eb66a56a812042d50f2ac Mon Sep 17 00:00:00 2001 +From 5653b18176534dead919f805f5ca1430c998ab6f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 1 Jun 2015 14:14:43 +0100 -Subject: [PATCH 53/97] [omximage] Don't report failed decode of progressive +Subject: [PATCH 053/100] [omximage] Don't report failed decode of progressive jpegs as as error --- @@ -4362,10 +4365,10 @@ index a43a446..890ca88 100644 } -From e31221e9c9b9f7ba3a2b7a36a97dfb9023cffd98 Mon Sep 17 00:00:00 2001 +From f7dca5ab0bb6e606f661820f4a5d28172e28d27b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 May 2015 19:01:00 +0100 -Subject: [PATCH 54/97] [rbp] Allow settings option for timestamp preference +Subject: [PATCH 054/100] [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 @@ -4439,10 +4442,10 @@ index 5f6b402..ce23bec 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From 5ef24b504e192305ec52f121475eb45d9875812c Mon Sep 17 00:00:00 2001 +From b267cc628998b7221a005fabd07700980ca0dcca Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 6 Jun 2015 18:44:37 +0100 -Subject: [PATCH 55/97] [rbp] Ignore pts value when m_hints.ptsinvalid set +Subject: [PATCH 055/100] [rbp] Ignore pts value when m_hints.ptsinvalid set --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -4476,10 +4479,10 @@ index ce23bec..e17fdb8 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From d8dc2b53bc190a17cb380efedb015eb5835daa41 Mon Sep 17 00:00:00 2001 +From 4f81908e104cabccf91b87dbafefc7d3916bc637 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 6 Jun 2015 18:43:57 +0100 -Subject: [PATCH 56/97] ffmpeg: Automatic switch to software decode for GMC +Subject: [PATCH 056/100] ffmpeg: Automatic switch to software decode for GMC with more than one warp point --- @@ -4650,10 +4653,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 69446dd3aec0506481036fc54fc7296dc5317602 Mon Sep 17 00:00:00 2001 +From cbf63035726a23c0d4c0e56a073c5cf39d721643 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 21:46:57 +0100 -Subject: [PATCH 57/97] [rbp] Use default resampling setting on Pi2 +Subject: [PATCH 057/100] [rbp] Use default resampling setting on Pi2 --- system/settings/rbp2.xml | 5 +++++ @@ -4676,10 +4679,10 @@ index b29a428..1c8b116 100644
-From 4db67f0d4315740e471cc675515067deddfb249a Mon Sep 17 00:00:00 2001 +From 289515a7f96751f323490ca7ec30e97eeb5865e0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 25 Jun 2015 19:43:10 +0100 -Subject: [PATCH 58/97] [rbp] HW mouse pointer +Subject: [PATCH 058/100] [rbp] HW mouse pointer Updating the mouse point provokes a complete screen update which can make it feel laggy and results in high cpu. @@ -5717,10 +5720,10 @@ index f6c8df0..5c2b583 100644 #endif -From 844077e2724b1e547e53f3d4c7f4aa1ca070e8c4 Mon Sep 17 00:00:00 2001 +From 958d47339a2427b66568fe7c2ea69831f111742a Mon Sep 17 00:00:00 2001 From: Roman Kraevskiy Date: Fri, 10 Jul 2015 23:36:34 +0300 -Subject: [PATCH 59/97] Mouse wheel support for X11-less linux distros +Subject: [PATCH 059/100] Mouse wheel support for X11-less linux distros (openelec) --- @@ -5928,10 +5931,10 @@ index cf1c5ce..954d823 100644 class CLinuxInputDevices -From f3d0ceb00e11c67b9caed033a7fadebe8a8e18cd Mon Sep 17 00:00:00 2001 +From 73f943c955674662396b11be531b060e48e4c47f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 22:06:53 +0100 -Subject: [PATCH 60/97] [rbp] Flip default of prefer pts timestamps +Subject: [PATCH 060/100] [rbp] Flip default of prefer pts timestamps --- system/settings/rbp.xml | 2 +- @@ -5951,17 +5954,17 @@ index 8c6e69d..f9528bc 100644 -From b389e5ed3fd4695c46777f4f24feef9c6c5f84df Mon Sep 17 00:00:00 2001 +From 5a6394c526f55c6799e3962f8a6348994a92bcdd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 7 May 2015 14:28:37 +0100 -Subject: [PATCH 61/97] build: Add vcsm lib +Subject: [PATCH 061/100] build: Add vcsm lib --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index b752d8d..d04e2fa 100644 +index cb11ffb..60ff2e5 100644 --- a/configure.ac +++ b/configure.ac @@ -1059,7 +1059,7 @@ if test "$use_gles" = "yes"; then @@ -5974,10 +5977,10 @@ index b752d8d..d04e2fa 100644 AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library)) -From c8760f14a8cd56211b2df17e422201b2886c9cc3 Mon Sep 17 00:00:00 2001 +From a3d34d75e32b7b1eb140a1d2e00b9c96bd8ec37f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 20 Jul 2015 16:11:37 +0100 -Subject: [PATCH 62/97] [mmalcodec] Populate the framerate of video decoder +Subject: [PATCH 062/100] [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 @@ -6002,10 +6005,10 @@ index 3e97f1d..5b064d2 100644 error_concealment.hdr.id = MMAL_PARAMETER_VIDEO_DECODE_ERROR_CONCEALMENT; -From 455b16797440674bd4c21797866b0dcc8f81f017 Mon Sep 17 00:00:00 2001 +From fa3d1cdb0220a227b7fc6f2161eb9b04d9ef75b4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 22 Jul 2015 22:52:46 +0100 -Subject: [PATCH 63/97] [mmalcodec] Enable interpolate timestamps +Subject: [PATCH 063/100] [mmalcodec] Enable interpolate timestamps --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -6025,10 +6028,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 e3f6a243d27324345e4e189137978e9f25a1b06a Mon Sep 17 00:00:00 2001 +From 1fa31ca6a89e3afc8d73ddc220e3af872b931fa8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 00:55:47 +0100 -Subject: [PATCH 64/97] Revert "[rbp] Flip default of prefer pts timestamps" +Subject: [PATCH 064/100] Revert "[rbp] Flip default of prefer pts timestamps" This reverts commit 34100dcdf830a0e957df585108066c48d6c5c38d. --- @@ -6049,10 +6052,10 @@ index f9528bc..8c6e69d 100644 -From 3d6a8c8ecd2b151b41c5b472942577088d8217ac Mon Sep 17 00:00:00 2001 +From 634188b43f2fef26de9d7f0818aa4fe679762bb8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 00:56:56 +0100 -Subject: [PATCH 65/97] Revert "[rbp] Allow settings option for timestamp +Subject: [PATCH 065/100] Revert "[rbp] Allow settings option for timestamp preference" This reverts commit c0eef926dd376cbf8a7857b2848e118ea3689b98. @@ -6126,11 +6129,11 @@ index e17fdb8..f06ee9c 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From 25864f89fdeb1a6f2e9c50946c761390b7d6cb5d Mon Sep 17 00:00:00 2001 +From 4cc3d3fa17f8ffd4206f44a56b82316deba1b32f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 15:52:39 +0100 -Subject: [PATCH 66/97] [omxhelper] Ignore embedded coverart image when looking - for supported video streams +Subject: [PATCH 066/100] [omxhelper] Ignore embedded coverart image when + looking for supported video streams --- xbmc/cores/omxplayer/OMXHelper.cpp | 2 +- @@ -6150,10 +6153,10 @@ index b5ee4b6..59479fe 100644 CDVDStreamInfo hint(*stream, true); -From 46b5399fce0d8b69aac995fa4915ec9739096801 Mon Sep 17 00:00:00 2001 +From a293e4faa8345a022982bc40ce87beaca3ec551c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Jul 2015 18:39:25 +0100 -Subject: [PATCH 68/97] [mmalcodec] Don't set initial unknown timestamps to +Subject: [PATCH 068/100] [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 @@ -6222,10 +6225,10 @@ index bde8c06..42d6a7b 100644 int m_speed; bool m_preroll; -From 2a30906ff53ef44c7e44eb135952f6ce15a7cca1 Mon Sep 17 00:00:00 2001 +From b34316efe7018bac17f95ed4afb7d850832c9ae4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Jul 2015 22:53:21 +0100 -Subject: [PATCH 69/97] [mmalcodec] Tidy up setting of timestamp flags +Subject: [PATCH 069/100] [mmalcodec] Tidy up setting of timestamp flags --- xbmc/cores/omxplayer/OMXVideo.cpp | 27 ++++++++++++++------------- @@ -6279,10 +6282,10 @@ index 832a9c9..1a08aa9 100644 memcpy(omx_buffer->pBuffer, demuxer_content, omx_buffer->nFilledLen); -From 498fb5c8efa41e687a70ca9139cdb54338cd50dd Mon Sep 17 00:00:00 2001 +From ab872c49995e776214c6a5fd6d02c3a00b5cfcf4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 25 Jul 2015 15:32:35 +0100 -Subject: [PATCH 70/97] [rbp] Only send changes in hw cursor state +Subject: [PATCH 070/100] [rbp] Only send changes in hw cursor state --- xbmc/linux/RBP.cpp | 9 ++++++++- @@ -6333,11 +6336,11 @@ 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 7d8330b84f83954720c050f94144aa65e14c7cd5 Mon Sep 17 00:00:00 2001 +From bc665147a5b77c980e58a73ae9fcebecddf033f9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Jul 2015 00:08:58 +0100 -Subject: [PATCH 71/97] [mmalcodec] Use both dts and pts for determining amount - of queued data +Subject: [PATCH 071/100] [mmalcodec] Use both dts and pts for determining + amount of queued data --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 10 ++++++++-- @@ -6399,10 +6402,10 @@ index 42d6a7b..f8f5209 100644 int m_speed; bool m_preroll; -From 03afdcd286a07d78a16bf0c7423deb46e980313f Mon Sep 17 00:00:00 2001 +From ac6ae272ef8ff57ed1a999bcfd4fabc49ee15765 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Jul 2015 17:47:33 +0100 -Subject: [PATCH 72/97] [rbp] Refactor the vsync handle to support multiple +Subject: [PATCH 072/100] [rbp] Refactor the vsync handle to support multiple callers --- @@ -6543,11 +6546,11 @@ index be0cafc..0572b47 100644 CCriticalSection m_critSection; -From db71a4dee9114a8af10d12fba56ff44b32dd5798 Mon Sep 17 00:00:00 2001 +From 8325bffa3c7dfcc02076b176975c11f7b03571ad Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 14:06:17 +0100 -Subject: [PATCH 73/97] [mmalrenderer] Wait for vsync before submitting to mmal - when display sync is disabled +Subject: [PATCH 073/100] [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. The issue is when display sync is disabled, and framerate of video matches display, and render times are coincident with vsync @@ -6633,10 +6636,10 @@ index 9bced7e..ec279ed 100644 + void SubmitFrame(MMAL_BUFFER_HEADER_T *buffer); }; -From 8507e6407c1a5352ffe3641b568a95fd9593ff18 Mon Sep 17 00:00:00 2001 +From 1d65392cfdb65de6263948ee61212b8673d21be7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 15:07:22 +0100 -Subject: [PATCH 74/97] [omxplayer] Support per refresh rate display latency +Subject: [PATCH 074/100] [omxplayer] Support per refresh rate display latency settings --- @@ -6661,10 +6664,10 @@ index f06ee9c..4ad66a8 100644 m_omxVideo.Decode(pPacket->pData, pPacket->iSize, dts, m_hints.ptsinvalid ? DVD_NOPTS_VALUE : pts); -From d00949b532eac144ac6c0f041420463ecdb3ced5 Mon Sep 17 00:00:00 2001 +From 70d0a1afa22b87eb9bb6968c7e3cc65fee6de2be Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 15:46:18 +0100 -Subject: [PATCH 75/97] squash: release gfx lock when blocking +Subject: [PATCH 075/100] squash: release gfx lock when blocking --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 1 + @@ -6683,10 +6686,11 @@ index 2e2bc83..c80a8a6 100644 #if defined(MMAL_DEBUG_VERBOSE) CLog::Log(LOGDEBUG, "%s::%s - done vsync:%d", CLASSNAME, __func__, m_vsyncCount); -From 4458af8dfc1b19bf21d91a7ec1b0ea6ffad9f051 Mon Sep 17 00:00:00 2001 +From 80b95491d82075ff13ac45fa8fc7184a660258da Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 17:34:11 +0100 -Subject: [PATCH 76/97] [rbp] Leave 3D framepacking output disabled by default +Subject: [PATCH 076/100] [rbp] Leave 3D framepacking output disabled by + default --- system/settings/rbp.xml | 2 +- @@ -6706,11 +6710,11 @@ index b27d23f..bf3b05f 100644 -From 80a7665f661a10053dfa6d3c7f69e0aabbdcca4a Mon Sep 17 00:00:00 2001 +From 016a4c59339bd8e7205475013737fae416886f17 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 17:26:30 +0100 -Subject: [PATCH 77/97] [omxplayer] Allow automatic switching back to omxplayer - after it has been disabled +Subject: [PATCH 077/100] [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). However if you play another file without quitting dvdplayer, it doesn't reconsider. @@ -6725,7 +6729,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 0ceae20..3fea73f 100644 +index 3118be2..a572bc2 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -519,10 +519,11 @@ void CDVDPlayer::CreatePlayers() @@ -6757,10 +6761,10 @@ index 59479fe..014eaf1 100644 if (!CSettings::Get().GetBool("videoplayer.usemmal")) return false; -From d437937539f8b750e096585e3364287b856a4061 Mon Sep 17 00:00:00 2001 +From 202bf4a032763605d21ba42a29c9df41a71360a1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 21:05:41 +0100 -Subject: [PATCH 78/97] [omxplayer] Set audio properties for passthrough +Subject: [PATCH 078/100] [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 @@ -6783,11 +6787,11 @@ index 1911189..4072f7d 100644 m_SampleRate = m_format.m_sampleRate; m_BitsPerSample = CAEUtil::DataFormatToBits(m_format.m_dataFormat); -From 81cdc97695125f7992f1bf1613d24b1145aa4b9a Mon Sep 17 00:00:00 2001 +From 1eee018bcf8e8a1a1fc4f64d2f8e5ebbae20038c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 31 Jul 2015 16:38:06 +0100 -Subject: [PATCH 79/97] squash: mmal: increase queue limit to 1 second to avoid - stalls +Subject: [PATCH 079/100] squash: mmal: increase queue limit to 1 second to + avoid stalls --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -6807,10 +6811,10 @@ index 6cf4023..7fea172 100644 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 47f8bebb0cdc5cfc8dfc33c5c369fee4df1094e0 Mon Sep 17 00:00:00 2001 +From ae9a3e037128369a843ae66d4f1e2a2d7baa29f1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 6 Aug 2015 11:25:08 +0100 -Subject: [PATCH 80/97] Revert "squash: release gfx lock when blocking" +Subject: [PATCH 080/100] Revert "squash: release gfx lock when blocking" This reverts commit f10f0af15d0b57d148f5b3556fd9f94bb2f44509. --- @@ -6830,11 +6834,11 @@ index c80a8a6..2e2bc83 100644 #if defined(MMAL_DEBUG_VERBOSE) CLog::Log(LOGDEBUG, "%s::%s - done vsync:%d", CLASSNAME, __func__, m_vsyncCount); -From dc66ac9b33e196322a19b91d6a29274cfceabceb Mon Sep 17 00:00:00 2001 +From 07f5b95bf68feda10424410f25ce158692bd1eeb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 6 Aug 2015 11:25:21 +0100 -Subject: [PATCH 81/97] Revert "[mmalrenderer] Wait for vsync before submitting - to mmal when display sync is disabled" +Subject: [PATCH 081/100] Revert "[mmalrenderer] Wait for vsync before + submitting to mmal when display sync is disabled" This reverts commit f1a4416194f75f75e2145ec3fe64aee1177d3ccc. --- @@ -6916,10 +6920,10 @@ index ec279ed..9bced7e 100644 - void SubmitFrame(MMAL_BUFFER_HEADER_T *buffer); }; -From 5c9a4ed55499d4e9abe7f1e48928abe170478a55 Mon Sep 17 00:00:00 2001 +From 7a7663d4157750849712e41d7bb5ba701b4e2c71 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 6 Aug 2015 11:25:30 +0100 -Subject: [PATCH 82/97] Revert "[rbp] Refactor the vsync handle to support +Subject: [PATCH 082/100] Revert "[rbp] Refactor the vsync handle to support multiple callers" This reverts commit 68bd91282359a9da4645af4eeead7b2842f835eb. @@ -7061,10 +7065,11 @@ index 0572b47..be0cafc 100644 CCriticalSection m_critSection; -From 44d831513b0336d335d35dc36fea6b750ef772f0 Mon Sep 17 00:00:00 2001 +From 08c932d103afc098ad828aa4baf5038a5ba10588 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 6 Aug 2015 11:23:05 +0100 -Subject: [PATCH 83/97] [rbp] Make sync playback to display the default option +Subject: [PATCH 083/100] [rbp] Make sync playback to display the default + option --- system/settings/rbp.xml | 7 +++++++ @@ -7089,10 +7094,10 @@ index bf3b05f..0743176 100644 false -From dddb1219bda8d94e470b2155016f4523b748bf6d Mon Sep 17 00:00:00 2001 +From bed5c73dd318408b8c1e7762b87be28214a42958 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 31 Jul 2015 18:39:31 +0100 -Subject: [PATCH 84/97] [mmalcodec] Tidy up debug logging for decode +Subject: [PATCH 084/100] [mmalcodec] Tidy up debug logging for decode --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 16 ++++------------ @@ -7141,10 +7146,10 @@ index 7fea172..756b845 100644 } -From 7d53fae11832cab78fa115401d889d782ba03515 Mon Sep 17 00:00:00 2001 +From 15fa59d3608dbf28dc49384f220d9412176f364b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 6 Aug 2015 13:25:32 +0100 -Subject: [PATCH 85/97] [rbp] Don't enable DTS-HD by default on Pi2 +Subject: [PATCH 085/100] [rbp] Don't enable DTS-HD by default on Pi2 Reports of no audio with omxplayer and this enabled that are not yet understood @@ -7169,10 +7174,10 @@ index 1c8b116..52778ecd 100644 -From 61838ea87734c65f78b2b5c0d2daf9368549e72d Mon Sep 17 00:00:00 2001 +From 97bff94a5c6341728b3c11ab16c9fa65e95fc869 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 7 Aug 2015 18:09:09 +0100 -Subject: [PATCH 86/97] Revert "[rbp] Don't enable DTS-HD by default on Pi2" +Subject: [PATCH 086/100] Revert "[rbp] Don't enable DTS-HD by default on Pi2" This reverts commit 8166e8990b8cf599cc4eb1641c58fad1f1f0821f. --- @@ -7196,10 +7201,10 @@ index 52778ecd..1c8b116 100644 -From 369453f1b7a2f525bf6c0a37d403464dea75eaae Mon Sep 17 00:00:00 2001 +From 50d9de5e2d3182fbc19c806ba18f77bbf43decda Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 14 Aug 2015 17:46:11 +0100 -Subject: [PATCH 88/97] [mmalrenderer] Add reference counting to sw decode +Subject: [PATCH 088/100] [mmalrenderer] Add reference counting to sw decode buffer and improve logging messages --- @@ -7549,10 +7554,10 @@ index 9bced7e..5fbcb03 100644 CCriticalSection m_sharedSection; MMAL_COMPONENT_T *m_vout; -From ff40dc247bc16915e97eb0dca88a7f5a889ad200 Mon Sep 17 00:00:00 2001 +From 1847f250fc140b51e781de4293f4bdc72a6ed117 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 15 Aug 2015 14:27:10 +0100 -Subject: [PATCH 89/97] [mmalrenderer] Use half rate deinterlace when playing +Subject: [PATCH 089/100] [mmalrenderer] Use half rate deinterlace when playing video in background --- @@ -7583,10 +7588,10 @@ index 756b845..56a9121 100644 deinterlace = false; else if (deinterlace_request == VS_DEINTERLACEMODE_FORCE) -From ba9947c5c466c1ec93388c3f87d07ca4e2a21bb2 Mon Sep 17 00:00:00 2001 +From 2cf9bdbb7433388370653d0b9b97cf2eadccfbdd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 13 Aug 2015 16:30:31 +0100 -Subject: [PATCH 90/97] squash: rbp: Remove HW mouse pointer when mouse is +Subject: [PATCH 090/100] squash: rbp: Remove HW mouse pointer when mouse is disabled in GUI --- @@ -7660,10 +7665,10 @@ index bde7649..89aca2b 100644 return ret; } -From 4b94bd782b8e7f1cdec7c1d50e85ef545f48fc06 Mon Sep 17 00:00:00 2001 +From 9e7033c49cd99640325abaf6b9534ccf2ced97fe Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 9 Aug 2015 18:01:34 +0100 -Subject: [PATCH 91/97] [rbp] Add ntsc version of 48Hz mode +Subject: [PATCH 091/100] [rbp] Add ntsc version of 48Hz mode --- xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 2 +- @@ -7683,10 +7688,10 @@ index 25a97ad..25475bf 100644 RESOLUTION_INFO res2 = res; res2.fRefreshRate = (float)tv->frame_rate * (1000.0f/1001.0f); -From f84267b07136093e2363057ba6d1372142182a80 Mon Sep 17 00:00:00 2001 +From 6563dca0bd3006aa71fe98bbdce30c4b58cb1848 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 22 Aug 2015 23:06:56 +0100 -Subject: [PATCH 92/97] [dvdmessage] Increase timeout on +Subject: [PATCH 092/100] [dvdmessage] Increase timeout on CDVDMsgGeneralSynchronize --- @@ -7707,10 +7712,10 @@ index ae745c6..73fff98 100644 if(abort && *abort) return; -From d04c4d341ca27d56a762a6303657561280bc2e35 Mon Sep 17 00:00:00 2001 +From e0097ee5ac47accbdef83e24b229eecc633014fd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 22 Aug 2015 23:19:15 +0100 -Subject: [PATCH 93/97] [mmalcodec] refector the decoder flags logic to avoid +Subject: [PATCH 093/100] [mmalcodec] refector the decoder flags logic to avoid stalls on seek --- @@ -7809,10 +7814,10 @@ index 56a9121..557faa2 100644 } -From 188d7b4c301e5c1e632c64710adca7365a92e742 Mon Sep 17 00:00:00 2001 +From d733cf94e2a98db3a44f8035e466ed67d5bc0d3c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 23 Aug 2015 18:57:34 +0100 -Subject: [PATCH 94/97] [omxplayer] Flush EOS message from queue to avoid it +Subject: [PATCH 094/100] [omxplayer] Flush EOS message from queue to avoid it turning up after a seek A GENERAL_EOS is queued when demuxer reaches EOF but playback may continue for several seconds. @@ -7848,10 +7853,10 @@ index 4ad66a8..276857f 100644 } -From 1c8e06bda0301646a4fc6ec66beca5103da6f819 Mon Sep 17 00:00:00 2001 +From e4971e53c16f1e11907764c580b35a5507dce7b7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Jul 2015 19:27:25 +0100 -Subject: [PATCH 95/97] [rbp] Enable QPU based deinterlace and remove +Subject: [PATCH 095/100] [rbp] Enable QPU based deinterlace and remove resolution limit --- @@ -7920,10 +7925,10 @@ index 1a08aa9..fbb395d 100644 image_filter.eImageFilter = OMX_ImageFilterDeInterlaceFast; else -From f987b46adee7cd8ce0834cf092581cc1dbe5954b Mon Sep 17 00:00:00 2001 +From 45675407456e03348c7f7774f1d80d2fbca4a006 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 16 Aug 2015 15:46:33 +0100 -Subject: [PATCH 96/97] [mmalrenderer] Allow deinterlace with software decode +Subject: [PATCH 096/100] [mmalrenderer] Allow deinterlace with software decode --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 9 +++++++++ @@ -7957,40 +7962,196 @@ index e278184..1eb8936 100644 } -From e14ecaac22733e60969ccb82ce57020f640d3f67 Mon Sep 17 00:00:00 2001 +From a5a13a9ee012234f9089b3f2e0cc62bcffaf01af Mon Sep 17 00:00:00 2001 From: popcornmix -Date: Mon, 31 Aug 2015 15:41:11 +0100 -Subject: [PATCH 97/97] [peripherals] Move initialisation after language init - to fix notifications +Date: Wed, 9 Sep 2015 23:34:41 +0100 +Subject: [PATCH 098/100] [rbp] Extract the correct resolution with Pi LCD -Lots of complaints on Isengard are master that CEC generates an empty notification popup on boot. -The problem is that peripherals are initialised before the language files are loaded so -g_localizeStrings.Get returns a blank string. - -Move the periphal initialisation after the language initialisation to avoid this. --- - xbmc/Application.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 20 +++++++++++++++++--- + 1 file changed, 17 insertions(+), 3 deletions(-) -diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 5776389..a2a8691 100644 ---- a/xbmc/Application.cpp -+++ b/xbmc/Application.cpp -@@ -673,8 +673,6 @@ bool CApplication::Create() - return false; +diff --git a/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp b/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp +index 25475bf..bccb774 100644 +--- a/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp ++++ b/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp +@@ -569,6 +569,18 @@ bool CEGLNativeTypeRaspberryPI::ProbeResolutions(std::vector &r + m_desktopRes.fRefreshRate = (float)tv_state.display.sdtv.frame_rate; + m_desktopRes.fPixelRatio = tv_state.display.hdmi.display_options.aspect == 0 ? 1.0f : get_display_aspect_ratio((SDTV_ASPECT_T)tv_state.display.sdtv.display_options.aspect) / ((float)m_desktopRes.iScreenWidth / (float)m_desktopRes.iScreenHeight); + } ++ else if ((tv_state.state & VC_LCD_ATTACHED_DEFAULT) != 0) // lcd ++ { ++ m_desktopRes.iScreen = 0; ++ m_desktopRes.bFullScreen = true; ++ m_desktopRes.iWidth = tv_state.display.sdtv.width; ++ m_desktopRes.iHeight = tv_state.display.sdtv.height; ++ m_desktopRes.iScreenWidth = tv_state.display.sdtv.width; ++ m_desktopRes.iScreenHeight= tv_state.display.sdtv.height; ++ m_desktopRes.dwFlags = MAKEFLAGS(HDMI_RES_GROUP_INVALID, 0, 0); ++ m_desktopRes.fRefreshRate = (float)tv_state.display.sdtv.frame_rate; ++ m_desktopRes.fPixelRatio = tv_state.display.hdmi.display_options.aspect == 0 ? 1.0f : get_display_aspect_ratio((SDTV_ASPECT_T)tv_state.display.sdtv.display_options.aspect) / ((float)m_desktopRes.iScreenWidth / (float)m_desktopRes.iScreenHeight); ++ } + + SetResolutionString(m_desktopRes); + +@@ -579,9 +591,11 @@ bool CEGLNativeTypeRaspberryPI::ProbeResolutions(std::vector &r + CLog::Log(LOGDEBUG, "EGL initial desktop resolution %s (%.2f)\n", m_desktopRes.strMode.c_str(), m_desktopRes.fPixelRatio); } -- g_peripherals.Initialise(); +- GetSupportedModes(HDMI_RES_GROUP_CEA, resolutions); +- GetSupportedModes(HDMI_RES_GROUP_DMT, resolutions); - - // Create the Mouse, Keyboard, Remote, and Joystick devices - // Initialize after loading settings to get joystick deadzone setting - CInputManager::Get().InitializeInputs(); -@@ -1117,6 +1115,8 @@ bool CApplication::Initialize() - if (!LoadLanguage(false)) - return false; ++ if(GETFLAGS_GROUP(m_desktopRes.dwFlags) && GETFLAGS_MODE(m_desktopRes.dwFlags)) ++ { ++ GetSupportedModes(HDMI_RES_GROUP_CEA, resolutions); ++ GetSupportedModes(HDMI_RES_GROUP_DMT, resolutions); ++ } + { + AddUniqueResolution(m_desktopRes, resolutions); + CLog::Log(LOGDEBUG, "EGL probe resolution %s:%x\n", m_desktopRes.strMode.c_str(), m_desktopRes.dwFlags); + +From 19c583a5b7612092ad8973cb9a817f418b0d1597 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 15 Sep 2015 22:26:26 +0100 +Subject: [PATCH 099/100] squash: omxplayer: Don't use AutoInterlaceMethod it + changes at start of file + +--- + xbmc/cores/omxplayer/OMXHelper.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/xbmc/cores/omxplayer/OMXHelper.cpp b/xbmc/cores/omxplayer/OMXHelper.cpp +index 014eaf1..72ed3ab 100644 +--- a/xbmc/cores/omxplayer/OMXHelper.cpp ++++ b/xbmc/cores/omxplayer/OMXHelper.cpp +@@ -132,19 +132,19 @@ bool OMXDoProcessing(struct SOmxPlayerState &m_OmxPlayerState, int m_playSpeed, + bool audio_fifo_low = false, video_fifo_low = false, audio_fifo_high = false, video_fifo_high = false; -+ g_peripherals.Initialise(); + if (m_OmxPlayerState.interlace_method == VS_INTERLACEMETHOD_MAX) +- m_OmxPlayerState.interlace_method = g_renderManager.AutoInterlaceMethod(CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod); ++ m_OmxPlayerState.interlace_method = CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod; + + // if deinterlace setting has changed, we should close and open video + if (m_OmxPlayerState.current_deinterlace != CMediaSettings::Get().GetCurrentVideoSettings().m_DeinterlaceMode || + (m_OmxPlayerState.current_deinterlace != VS_DEINTERLACEMODE_OFF && +- m_OmxPlayerState.interlace_method != g_renderManager.AutoInterlaceMethod(CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod))) ++ m_OmxPlayerState.interlace_method != CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod)) + { + CLog::Log(LOGNOTICE, "%s - Reopen stream due to interlace change (%d,%d,%d,%d)", __FUNCTION__, + m_OmxPlayerState.current_deinterlace, CMediaSettings::Get().GetCurrentVideoSettings().m_DeinterlaceMode, +- m_OmxPlayerState.interlace_method, g_renderManager.AutoInterlaceMethod(CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod)); ++ m_OmxPlayerState.interlace_method, CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod); + + m_OmxPlayerState.current_deinterlace = CMediaSettings::Get().GetCurrentVideoSettings().m_DeinterlaceMode; +- m_OmxPlayerState.interlace_method = g_renderManager.AutoInterlaceMethod(CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod); ++ m_OmxPlayerState.interlace_method = CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod; + reopen_stream = true; + } + + +From 18bca1ea11093bef939a375a8b845a0c1c3dc0d5 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Wed, 16 Sep 2015 15:05:37 +0100 +Subject: [PATCH 100/100] [omxplayer] Avoid calling render callback with the + lock held to avoid a deadlock + +--- + xbmc/cores/omxplayer/OMXVideo.cpp | 27 ++++++++++++++------------- + xbmc/cores/omxplayer/OMXVideo.h | 10 +++++++++- + 2 files changed, 23 insertions(+), 14 deletions(-) + +diff --git a/xbmc/cores/omxplayer/OMXVideo.cpp b/xbmc/cores/omxplayer/OMXVideo.cpp +index fbb395d..aaea687 100644 +--- a/xbmc/cores/omxplayer/OMXVideo.cpp ++++ b/xbmc/cores/omxplayer/OMXVideo.cpp +@@ -141,9 +141,8 @@ bool COMXVideo::NaluFormatStartCodes(enum AVCodecID codec, uint8_t *in_extradata + return false; + } + +-bool COMXVideo::PortSettingsChanged() ++bool COMXVideo::PortSettingsChanged(ResolutionUpdateInfo &resinfo) + { +- CSingleLock lock (m_critSection); + OMX_ERRORTYPE omx_err = OMX_ErrorNone; + + if (m_settings_changed) +@@ -186,15 +185,13 @@ bool COMXVideo::PortSettingsChanged() + port_image.format.video.xFramerate / (float)(1<<16), interlace.eMode, m_deinterlace); + + // let OMXPlayerVideo know about resolution so it can inform RenderManager +- if (m_res_callback) +- { +- float display_aspect = 0.0f; +- if (pixel_aspect.nX && pixel_aspect.nY) +- display_aspect = (float)pixel_aspect.nX * port_image.format.video.nFrameWidth / +- ((float)pixel_aspect.nY * port_image.format.video.nFrameHeight); +- m_res_callback(m_res_ctx, port_image.format.video.nFrameWidth, port_image.format.video.nFrameHeight, +- port_image.format.video.xFramerate / (float)(1<<16), display_aspect); +- } ++ resinfo.width = port_image.format.video.nFrameWidth; ++ resinfo.height = port_image.format.video.nFrameHeight; ++ resinfo.framerate = port_image.format.video.xFramerate / (float)(1<<16); ++ resinfo.display_aspect = 0.0f; ++ resinfo.changed = true; ++ if (pixel_aspect.nX && pixel_aspect.nY) ++ resinfo.display_aspect = (float)pixel_aspect.nX * port_image.format.video.nFrameWidth / ((float)pixel_aspect.nY * port_image.format.video.nFrameHeight); + + if (m_settings_changed) + { +@@ -798,10 +795,11 @@ int COMXVideo::Decode(uint8_t *pData, int iSize, double dts, double pts) + } + //CLog::Log(LOGINFO, "VideD: dts:%.0f pts:%.0f size:%d)\n", dts, pts, iSize); + ++ ResolutionUpdateInfo resinfo = {}; + omx_err = m_omx_decoder.WaitForEvent(OMX_EventPortSettingsChanged, 0); + if (omx_err == OMX_ErrorNone) + { +- if(!PortSettingsChanged()) ++ if(!PortSettingsChanged(resinfo)) + { + CLog::Log(LOGERROR, "%s::%s - error PortSettingsChanged omx_err(0x%08x)\n", CLASSNAME, __func__, omx_err); + return false; +@@ -810,11 +808,14 @@ int COMXVideo::Decode(uint8_t *pData, int iSize, double dts, double pts) + omx_err = m_omx_decoder.WaitForEvent(OMX_EventParamOrConfigChanged, 0); + if (omx_err == OMX_ErrorNone) + { +- if(!PortSettingsChanged()) ++ if(!PortSettingsChanged(resinfo)) + { + CLog::Log(LOGERROR, "%s::%s - error PortSettingsChanged (EventParamOrConfigChanged) omx_err(0x%08x)\n", CLASSNAME, __func__, omx_err); + } + } ++ lock.Leave(); ++ if (resinfo.changed && m_res_callback) ++ m_res_callback(m_res_ctx, resinfo.width, resinfo.height, resinfo.framerate, resinfo.display_aspect); + } + return true; + +diff --git a/xbmc/cores/omxplayer/OMXVideo.h b/xbmc/cores/omxplayer/OMXVideo.h +index 86e94ce..31982b4 100644 +--- a/xbmc/cores/omxplayer/OMXVideo.h ++++ b/xbmc/cores/omxplayer/OMXVideo.h +@@ -41,6 +41,14 @@ + + typedef void (*ResolutionUpdateCallBackFn)(void *ctx, uint32_t width, uint32_t height, float framerate, float display_aspect); + ++struct ResolutionUpdateInfo { ++ uint32_t width; ++ uint32_t height; ++ float framerate; ++ float display_aspect; ++ bool changed; ++}; + - // Load curl so curl_global_init gets called before any service threads - // are started. Unloading will have no effect as curl is never fully unloaded. - // To quote man curl_global_init: + class COMXVideo + { + public: +@@ -50,7 +58,7 @@ class COMXVideo + // Required overrides + bool SendDecoderConfig(); + bool Open(CDVDStreamInfo &hints, OMXClock *clock, EDEINTERLACEMODE deinterlace = VS_DEINTERLACEMODE_OFF, bool hdmi_clock_sync = false); +- bool PortSettingsChanged(); ++ bool PortSettingsChanged(ResolutionUpdateInfo &resinfo); + void RegisterResolutionUpdateCallBack(void *ctx, ResolutionUpdateCallBackFn callback) { m_res_ctx = ctx; m_res_callback = callback; } + void Close(void); + unsigned int GetFreeSpace(); 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 5901e4693b..dbd11bc633 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 27c098f81eec4d6c91e929fb7673640fccd88993 Mon Sep 17 00:00:00 2001 +From e47d1541cb23c8667c0403003380ebd76a703251 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 18:19:32 +0100 -Subject: [PATCH 01/97] [rbp/omxplayer] When opening a stream don't try to +Subject: [PATCH 001/100] [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 ebbadf9ecbe46aff57ab31aa0900c691dacc8789 Mon Sep 17 00:00:00 2001 +From f951f557431145e47108b7fb3c2c8f47a9c07893 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Mar 2014 15:36:06 +0000 -Subject: [PATCH 03/97] [hifiberry] Hack: force it to be recognised as IEC958 +Subject: [PATCH 003/100] [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 d50f06493551f65a61159b0b3140172ff32c2c93 Mon Sep 17 00:00:00 2001 +From d2026ad2027d69138df4f058fb60a0a0cc305c7e Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 1 May 2014 16:28:39 +0100 -Subject: [PATCH 04/97] Improved file buffering in CArchive +Subject: [PATCH 004/100] 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 e677c063cf52652c9ca299f0bbe70652f9fd63eb Mon Sep 17 00:00:00 2001 +From 7a6f6fdb69f093b604e353f5fdf55e336d308a75 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 12 Aug 2014 00:31:36 +0100 -Subject: [PATCH 05/97] [omxcodec] Don't force software codec with dvds +Subject: [PATCH 005/100] [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 7c84557..87463a7 100644 +index f6ffe4e..74f3f9b 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 7c84557..87463a7 100644 else if (m_pInputStream && m_pInputStream->IsStreamType(DVDSTREAM_TYPE_PVRMANAGER)) { -From 01b3d88ff0d057cc16039da6e5d25158ce4d80d1 Mon Sep 17 00:00:00 2001 +From 7d01f78144c9bc8dc9df5ca8da03dcf5c33d86d9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 10 Aug 2014 16:45:16 +0100 -Subject: [PATCH 06/97] filesystem: Make support of browsing into archives +Subject: [PATCH 006/100] 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,11 +224,11 @@ index 5af92e7..568a1a8 100644 { // XBMC Smart playlist - just XML renamed to XSP // read the name of the playlist in -From 077c929b867702c7d59ce2289d54cec56a4018e7 Mon Sep 17 00:00:00 2001 +From 601a45ff9b262f64000ee50e1cfc6869b410c55e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 13:06:57 +0000 -Subject: [PATCH 08/97] [rbp] Make cachemembuffersize default depend on memory - size +Subject: [PATCH 008/100] [rbp] Make cachemembuffersize default depend on + memory size --- xbmc/linux/RBP.cpp | 10 ++++++++++ @@ -329,10 +329,10 @@ index 2e3282c..d1606a2 100644 } -From 4bb600b92009d43e32124eb8bf6ae95603ae93a8 Mon Sep 17 00:00:00 2001 +From 4e426c5505fb01f64a272f191ca22eb542483de9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 30 May 2014 14:58:43 +0100 -Subject: [PATCH 10/97] [settings] Experiment: Report DESKTOP resolution in +Subject: [PATCH 010/100] [settings] Experiment: Report DESKTOP resolution in video settings --- @@ -354,10 +354,11 @@ index 4376463..fc4e5ea 100644 StringUtils::Format("%dx%d%s", resolution->width, resolution->height, ModeFlagsToString(resolution->flags, false).c_str()), -From b48b69bcd2f0621befc05b30063874ccfbed6395 Mon Sep 17 00:00:00 2001 +From 047f52b5ba5f87c6a05fc49f0ff47f964cc2151a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Sep 2014 12:04:26 +0100 -Subject: [PATCH 11/97] egl: Treat unknown display aspect ratio as square pixel +Subject: [PATCH 011/100] egl: Treat unknown display aspect ratio as square + pixel --- xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 4 ++-- @@ -386,10 +387,10 @@ index bda7430..68fc647 100644 SetResolutionString(m_desktopRes); -From 3e868e74d23640e8f75f56d2eeabbfd6948e4205 Mon Sep 17 00:00:00 2001 +From 5f56f492ee9849b8745a88007c392bed8e042989 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 19 Sep 2014 11:54:49 +0100 -Subject: [PATCH 12/97] [dvdplayer/rbp] Add pi specific option to maintain +Subject: [PATCH 012/100] [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". @@ -681,10 +682,10 @@ index 7df1bf7..732b69d 100644 float m_audioPlayCountMinimumPercent; bool m_dvdplayerIgnoreDTSinWAV; -From 714598484af7ea5d846e80e4e6dbf7e51e1e7bf4 Mon Sep 17 00:00:00 2001 +From 258c2af821a608c1ed92f95e8e063da8d0083a1f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 24 Sep 2014 23:13:52 +0100 -Subject: [PATCH 13/97] [audio] Add settings option to boost centre channel +Subject: [PATCH 013/100] [audio] Add settings option to boost centre channel when downmixing This allows a dB volume increase to be added to centre channel. @@ -806,10 +807,10 @@ index f99c0e6..1911189 100644 // stereo upmix if (upmix && m_src_channels == 2 && m_dst_channels > 2) -From 646c5985702e78bada6bbd9f74fbf442e5bacbd5 Mon Sep 17 00:00:00 2001 +From 1b614d6e694731175e5f4d3dcc98c306bdad9605 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 15:23:51 +0000 -Subject: [PATCH 14/97] [rbp] Default extract thumbnails to false +Subject: [PATCH 014/100] [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 @@ -839,11 +840,11 @@ index 50fe36a..a54a4c4 100644
-From 4d538f222e65dac1aab9238ee206dae98e8b745d Mon Sep 17 00:00:00 2001 +From c45f209653ef09eeb39dc379e1905c5b303c416f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 10 Feb 2015 15:29:16 +0000 -Subject: [PATCH 15/97] [libcec] Add repeating keypress patch from popcornmix' - repo +Subject: [PATCH 015/100] [libcec] Add repeating keypress patch from + popcornmix' repo --- tools/depends/target/libcec/Makefile | 1 + @@ -1729,10 +1730,10 @@ index 0000000..8366a69 +1.9.1 + -From 9f185ce92005dc1da7c54b0538b9be627398414c Mon Sep 17 00:00:00 2001 +From 37dcb167b785348191b06076280a03ab2a5781bd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Oct 2014 00:19:40 +0000 -Subject: [PATCH 16/97] [cec] Add settings for configuring button repeats +Subject: [PATCH 016/100] [cec] Add settings for configuring button repeats --- addons/resource.language.en_gb/resources/strings.po | 15 +++++++++++++++ @@ -1813,10 +1814,11 @@ index ea702e5..b5ff693 100644 void CPeripheralCecAdapter::ReadLogicalAddresses(const std::string &strString, cec_logical_addresses &addresses) -From 41b622065e0b8c4b9ac882c860b352bc893af904 Mon Sep 17 00:00:00 2001 +From 0316bb54444adacdfca76490a4778df1a719dd42 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Nov 2014 23:17:46 +0000 -Subject: [PATCH 17/97] [cec] Don't discard buttons when repeat mode is enabled +Subject: [PATCH 017/100] [cec] Don't discard buttons when repeat mode is + enabled --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 5 ++++- @@ -1839,10 +1841,10 @@ index b5ff693..6086bf5 100644 if (m_currentButton.iButton == key.iButton && m_currentButton.iDuration == 0) { -From 67d598e18250aeee6968a37d6c061b50658ef2fc Mon Sep 17 00:00:00 2001 +From 661701e323eea8a09ddc5cbf7dfccf928b2d7af5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 4 Nov 2014 18:50:00 +0000 -Subject: [PATCH 18/97] [cec] Temp - more logging +Subject: [PATCH 018/100] [cec] Temp - more logging --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 8 +++++++- @@ -1894,10 +1896,10 @@ index 6086bf5..417b0d8 100644 } -From db0fd492436ac8612452651d95fd013b66e5cb7f Mon Sep 17 00:00:00 2001 +From b3aecd497b997fa71927edd39446994057081df7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 15 Nov 2014 12:03:34 +0000 -Subject: [PATCH 19/97] [dvdplayer] Add lock for player creation +Subject: [PATCH 019/100] [dvdplayer] Add lock for player creation --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 3 +++ @@ -1905,7 +1907,7 @@ Subject: [PATCH 19/97] [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 87463a7..0ceae20 100644 +index 74f3f9b..3118be2 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 @@ -1943,10 +1945,10 @@ index ab6a228..32e76c1 100644 + CCriticalSection m_players_lock; }; -From ba714e2c52c3b2b54d0aa36feb038e0988c10f30 Mon Sep 17 00:00:00 2001 +From ee762026329d0d0c0ff8e312cf04ecf9957b0fd0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 24 Nov 2014 22:07:25 +0000 -Subject: [PATCH 20/97] [dvdplayervideo] Prod decoder when in stills mode +Subject: [PATCH 020/100] [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. @@ -1955,7 +1957,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 46fa635..03c876d 100644 +index 0fe56c3..6ad751f 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -314,7 +314,8 @@ void CDVDPlayerVideo::Process() @@ -2023,10 +2025,10 @@ index 46fa635..03c876d 100644 if (pMsg->IsType(CDVDMsg::GENERAL_SYNCHRONIZE)) -From 0008ee91faf07eede19fd97c7296825b67e1264b Mon Sep 17 00:00:00 2001 +From 4003daa7468e7fc4d1d03ac9052556e85dad5257 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 27 Nov 2014 16:31:56 +0000 -Subject: [PATCH 21/97] [languageinvoker] Reduce priority of python threads +Subject: [PATCH 021/100] [languageinvoker] Reduce priority of python threads --- xbmc/interfaces/generic/LanguageInvokerThread.cpp | 5 +++++ @@ -2049,10 +2051,10 @@ index fcdd063..16f0c89 100644 } -From ca83d5d34edf353902c7bbaa702f2dbbca5cffbc Mon Sep 17 00:00:00 2001 +From 9418301c4366ecd2523be64ab449d99c76bfab34 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Dec 2013 16:55:05 +0000 -Subject: [PATCH 22/97] logging: Add microsecond timer to log messages +Subject: [PATCH 022/100] logging: Add microsecond timer to log messages --- xbmc/utils/log.cpp | 17 +++++++++++++++-- @@ -2105,11 +2107,11 @@ index 3443f12..31c4a99 100644 levelNames[logLevel]) + strData; -From adced8a3f90b0de05070f5fb7877c0cf97ae3951 Mon Sep 17 00:00:00 2001 +From c14e940dfd1abdf2bd2eb7e3c5caa25714254844 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 29 Nov 2014 15:25:16 +0000 -Subject: [PATCH 23/97] [rbp] hack: wait for splash to complete before changing - hdmi mode +Subject: [PATCH 023/100] [rbp] hack: wait for splash to complete before + changing hdmi mode --- xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 49 +++++++++++++++++++++++++ @@ -2182,10 +2184,10 @@ index 68fc647..c80114e 100644 if(!m_fixedMode && GETFLAGS_GROUP(res.dwFlags) && GETFLAGS_MODE(res.dwFlags)) -From fb7d35b6bc61c996e744be515faa849dfc0f1a24 Mon Sep 17 00:00:00 2001 +From a26352b358cb4a77073a81ad9d1b0fa20aa5b894 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 11 Dec 2014 17:00:57 +0000 -Subject: [PATCH 24/97] Fix for UI not showing both extractflags and +Subject: [PATCH 024/100] Fix for UI not showing both extractflags and extractthumb --- @@ -2249,10 +2251,10 @@ index 4843ab8..f1cbefa 100644 -From 429d7afba781d741b6911f9de9f3ec03be13429f Mon Sep 17 00:00:00 2001 +From b8b1bae07104af45f1945aca34f0424191271be1 Mon Sep 17 00:00:00 2001 From: anaconda Date: Thu, 11 Sep 2014 21:30:43 +0200 -Subject: [PATCH 25/97] Disable autoscrolling while on screensaver and while +Subject: [PATCH 025/100] Disable autoscrolling while on screensaver and while opening streams. --- @@ -2265,7 +2267,7 @@ Subject: [PATCH 25/97] 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 352df29..c83e0a4 100644 +index a891be6..a1e3a3f 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -4981,3 +4981,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const @@ -2383,10 +2385,10 @@ index 2cdbf1c..42be75d 100644 if (m_lastRenderTime) m_autoScrollDelayTime += currentTime - m_lastRenderTime; -From f1896dc4a871edff5a4bc7f2549b5675c0a53b67 Mon Sep 17 00:00:00 2001 +From ee6e4e8972c094ac86c7fba991e6df8ff747b194 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 13 Dec 2014 18:35:20 +0000 -Subject: [PATCH 26/97] [demuxer] Avoid memcpy on every demuxer packet +Subject: [PATCH 026/100] [demuxer] Avoid memcpy on every demuxer packet Avoids an unnecessary memcpy on every demuxer packet which for high bitrate videos can be significant. @@ -2481,10 +2483,10 @@ index ab298b2..10c5ee0 100644 } catch(...) { -From 3da5f58723e112654b864b7b5f8b0f30116e29cc Mon Sep 17 00:00:00 2001 +From a5664b17a3642e79b35fb7b3171efa1e6622713f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 15 Feb 2015 14:06:12 +0000 -Subject: [PATCH 27/97] [mmal] Allow mmal codec for dvd stills +Subject: [PATCH 027/100] [mmal] Allow mmal codec for dvd stills --- xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp | 7 +++++++ @@ -2516,11 +2518,11 @@ index 4c363cf..b90237b 100644 { // If dvd is an mpeg2 and hint.stills -From 02ce56be5917ca2c6c24674e6a2c36870ebdd936 Mon Sep 17 00:00:00 2001 +From efc5a90bf03956e838be61999b255d7cbbddf187 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 31 Mar 2015 17:31:47 +0100 -Subject: [PATCH 28/97] [mmalrenderer] Add SetCodecControl function and prefer - to return pictures when renderer is low (disabled) +Subject: [PATCH 028/100] [mmalrenderer] Add SetCodecControl function and + prefer to return pictures when renderer is low (disabled) --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 13 +++++++++++++ @@ -2590,10 +2592,10 @@ index 51a64d1..bde8c06 100644 CCriticalSection m_sharedSection; MMAL_COMPONENT_T *m_dec; -From aa2973a30f567d12eb1302365ad4c924dd1146be Mon Sep 17 00:00:00 2001 +From 89064f91aa8be8e9e519d349e778edf3b399d656 Mon Sep 17 00:00:00 2001 From: anaconda Date: Wed, 25 Feb 2015 18:22:21 +0100 -Subject: [PATCH 29/97] Load OSD dialogs on startup. +Subject: [PATCH 029/100] 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. @@ -2688,10 +2690,10 @@ index 9f25fa5..3ece45b 100644 CGUIDialogVideoSettings::~CGUIDialogVideoSettings() { } -From 8e9136e385a30eaa7ae5928c1d9f6f6a2698eb4b Mon Sep 17 00:00:00 2001 +From 42a4147584fc33654b862212362f17ee751713ee Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 7 Mar 2015 22:46:21 +0000 -Subject: [PATCH 30/97] configure: Add raspberry-pi2 platform +Subject: [PATCH 030/100] configure: Add raspberry-pi2 platform --- configure.ac | 14 +++++++-- @@ -2703,7 +2705,7 @@ Subject: [PATCH 30/97] configure: Add raspberry-pi2 platform 6 files changed, 44 insertions(+), 22 deletions(-) diff --git a/configure.ac b/configure.ac -index 7265637..03e44ac 100644 +index fe689d6..78f4add 100644 --- a/configure.ac +++ b/configure.ac @@ -744,8 +744,17 @@ case $use_platform in @@ -2865,10 +2867,10 @@ index cdc2fe4..379bd1d 100644 set(CMAKE_SYSTEM_NAME Linux) endif() -From 41107ebd4976d70e5931a811a6931898055ec8e9 Mon Sep 17 00:00:00 2001 +From e14488115b0b428a646e6a9da85aee8028e11565 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 10 Mar 2015 17:05:18 +0000 -Subject: [PATCH 31/97] [players] Add settings option to enable MVC support +Subject: [PATCH 031/100] [players] Add settings option to enable MVC support --- addons/resource.language.en_gb/resources/strings.po | 10 ++++++++++ @@ -2949,10 +2951,10 @@ index e4f6d86..5d324f4 100644 case AV_CODEC_ID_MPEG4: // (role name) video_decoder.mpeg4 -From 3f7aaf967f321184ad35378573d0eef4fd264102 Mon Sep 17 00:00:00 2001 +From 0c601d3f8b448e1504bbe2e929204b74f1a0fa58 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Mar 2015 12:38:08 +0000 -Subject: [PATCH 32/97] [mmalrenderer] Switch to using transform flags for 3d +Subject: [PATCH 032/100] [mmalrenderer] Switch to using transform flags for 3d modes --- @@ -3331,10 +3333,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 ea99e969730a7b7d65018d8d2fb99c882ce6939c Mon Sep 17 00:00:00 2001 + +From e580c75ce004451233fd7aed98610257ce8516fc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 14 Apr 2015 20:51:14 +0100 -Subject: [PATCH 35/97] [gui] Also limit GUI updates when in non full-screen +Subject: [PATCH 035/100] [gui] Also limit GUI updates when in non full-screen video mode --- @@ -3342,7 +3345,7 @@ Subject: [PATCH 35/97] [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 c83e0a4..5776389 100644 +index a1e3a3f..a2a8691 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -2489,7 +2489,7 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) @@ -3364,10 +3367,10 @@ index c83e0a4..5776389 100644 g_windowManager.FrameMove(); } -From e1b16727bf9aa69e80d98d3375325f28853f4077 Mon Sep 17 00:00:00 2001 +From 6fd33b1d1fdbf9a4b8a2a1242c6151a3ae704e8e Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:24:42 +0200 -Subject: [PATCH 36/97] Added some vc_tv_* functions that were missing in +Subject: [PATCH 036/100] Added some vc_tv_* functions that were missing in DllBCM. --- @@ -3402,10 +3405,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 4dc37830ffa8d4ed07cd59f1b506ad1ce7e8fed4 Mon Sep 17 00:00:00 2001 +From 8902d26970b4364d73a022f6977521d5e3931cab Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:29:03 +0200 -Subject: [PATCH 37/97] Added private utility function to map a float display +Subject: [PATCH 037/100] Added private utility function to map a float display aspect, to the respective SDTV_ASPECT_* enum value. --- @@ -3454,10 +3457,10 @@ index 3816b55..520bf95 100644 bool CEGLNativeTypeRaspberryPI::ProbeResolutions(std::vector &resolutions) -From 5560b6729902efdffa303cfeede42067a5fa8cb7 Mon Sep 17 00:00:00 2001 +From bc161d805562033507630fb1fb3961015e65debb Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 19:50:58 +0200 -Subject: [PATCH 38/97] Changed SDTV resolutions to be treated similarly to +Subject: [PATCH 038/100] 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. @@ -3554,10 +3557,10 @@ index 59401f5..a0acb1a 100644 int m_width; int m_height; -From 0e7eb3c3417c45ed5008c47c1dacf7f5954db57a Mon Sep 17 00:00:00 2001 +From f2f7d13d99a2a07e7ff50e22a0c8ef347372f2e0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 17:11:09 +0100 -Subject: [PATCH 39/97] Revert "[3D] don't back out from 3D handling on +Subject: [PATCH 039/100] 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. @@ -3592,10 +3595,10 @@ index bd7dff9..fc4cc95 100644 if(stereo_mode != m_stereoMode) -From 759b1380cddba63b448c9681d51db64609484c95 Mon Sep 17 00:00:00 2001 +From 322a3a3b109d52d38cf047410a7b09cae368754b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 10 Jun 2015 20:42:03 +0100 -Subject: [PATCH 40/97] [rbp] Fix zoom modes with stereoscopic videos +Subject: [PATCH 040/100] [rbp] Fix zoom modes with stereoscopic videos --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 12 ++++++++++-- @@ -3651,10 +3654,10 @@ index ba17a46..298eaff 100644 if (gui != display) { -From 0d4bf6d61b4469300a46db84795c123177ee2cfc Mon Sep 17 00:00:00 2001 +From d26ddebf3aa9030c9af5444402312a00454087d7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 17:42:03 +0100 -Subject: [PATCH 41/97] [WinSystemEGL] Remove unused Support3D function +Subject: [PATCH 041/100] [WinSystemEGL] Remove unused Support3D function --- xbmc/windowing/egl/WinSystemEGL.cpp | 29 ----------------------------- @@ -3714,11 +3717,11 @@ index 9d4baf6..1ec4225 100644 EGLConfig GetEGLConfig(); -From 21f8450e14bdea7ead6a3d0bf26a65444745668d Mon Sep 17 00:00:00 2001 +From b143b7e1557567102546e0024dfabc3c14647544 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 16 Apr 2014 21:18:06 +0100 -Subject: [PATCH 42/97] [omxplayer] Don't propagate 3d flags based on supported - 3d modes +Subject: [PATCH 042/100] [omxplayer] Don't propagate 3d flags based on + supported 3d modes --- xbmc/cores/omxplayer/OMXPlayerVideo.cpp | 29 +++-------------------------- @@ -3773,10 +3776,10 @@ index 298eaff..3bf7c2e 100644 unsigned int iDisplayHeight = height; -From a36a305d37fd881d12344d859a53002e13989e89 Mon Sep 17 00:00:00 2001 +From 7dfba284734131f43d27dbd8dd5b5def95ce91f7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 18:52:28 +0100 -Subject: [PATCH 43/97] [3d] Avoid switching stereo mode based on current +Subject: [PATCH 043/100] [3d] Avoid switching stereo mode based on current display mode --- @@ -3816,10 +3819,10 @@ index fc4cc95..e18232e 100644 RESOLUTION_INFO info_mod = GetResInfo(res); -From 1ac2844bd4a275ef5b6b50f6e66249c55d67e81c Mon Sep 17 00:00:00 2001 +From 44998e6fed4bba5175446b483f86074d6c41fff7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jun 2015 23:13:51 +0100 -Subject: [PATCH 44/97] [rpi] Always add desktop resolution to supported list +Subject: [PATCH 044/100] [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: @@ -3888,10 +3891,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 83c3b11b49dddd4df9e30ea6a879dcebd840fd80 Mon Sep 17 00:00:00 2001 +From 5089c4d05954af59297fd9f0960bf70db707bbfb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 21 Jun 2015 18:53:29 +0100 -Subject: [PATCH 45/97] [rbp] Drop reporting 3D modes and just use current +Subject: [PATCH 045/100] [rbp] Drop reporting 3D modes and just use current rendering mode to request 3D signalling --- @@ -4048,11 +4051,11 @@ index 69ce9b7..25a97ad 100644 } if (supported_modes) -From f939e50fdb7323fa21ef366be148e0d786ea4619 Mon Sep 17 00:00:00 2001 +From 34d893fa7966aee5713548b781294fefcbb33c49 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 30 Jun 2015 14:08:24 +0100 -Subject: [PATCH 46/97] [rbp] Ignore video stereo mode when 3D display mode is - disabled +Subject: [PATCH 046/100] [rbp] Ignore video stereo mode when 3D display mode + is disabled --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 4 ++++ @@ -4090,10 +4093,10 @@ index 3bf7c2e..5f6b402 100644 if (m_hints.orientation == 90 || m_hints.orientation == 270) { -From 09b62cbefb2e5a3b5f231fbef3647ce46734bbdb Mon Sep 17 00:00:00 2001 +From b0df84434abb8b86d32d0e61c365c26b10c510dc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 16:27:15 +0100 -Subject: [PATCH 47/97] [EGL] Don't skip out when HDMI mode is considered the +Subject: [PATCH 047/100] [EGL] Don't skip out when HDMI mode is considered the same It might have different 3D signalling. TODO: keep track of 3D signalling @@ -4115,10 +4118,10 @@ index c43c4d0..13b75b1 100644 m_bFullScreen = fullScreen; -From b226d8094af9d08e0e8bdcb8308dc289b5ab26f6 Mon Sep 17 00:00:00 2001 +From bae1d271fec80a8707b447953e12b08934a0b163 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 21 Apr 2015 14:32:07 +0100 -Subject: [PATCH 48/97] [mmalrenderer] Add sharpness control +Subject: [PATCH 048/100] [mmalrenderer] Add sharpness control --- addons/resource.language.en_gb/resources/strings.po | 2 +- @@ -4190,17 +4193,17 @@ index 1404fb3..9bced7e 100644 CCriticalSection m_sharedSection; MMAL_COMPONENT_T *m_vout; -From 7faf2fc744fe86942e0ddf7546fde97a5c54b0e2 Mon Sep 17 00:00:00 2001 +From 33f42e33ae846ff3b3708870835255850080973a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Apr 2015 13:49:51 +0100 -Subject: [PATCH 49/97] [dvdplayer] Add back required include +Subject: [PATCH 049/100] [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 03c876d..c1ef9d4 100644 +index 6ad751f..40c0102 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -33,6 +33,7 @@ @@ -4212,10 +4215,10 @@ index 03c876d..c1ef9d4 100644 #include "guilib/GraphicContext.h" #include -From 66a98c2f79252c51a6817321a62499f76201ea6a Mon Sep 17 00:00:00 2001 +From 00ba5a7e69d67f0c102ef162fa7c13b3325a7550 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 May 2015 23:58:06 +0100 -Subject: [PATCH 50/97] [screensaver] Leave GUI contents available for +Subject: [PATCH 050/100] [screensaver] Leave GUI contents available for screensaver --- @@ -4245,10 +4248,10 @@ index aa6713d..590fcec 100644 // Add window to the history list (we must do this before we activate it, -From 5e649e09c5aae60275c9ef623d4c8056724ef915 Mon Sep 17 00:00:00 2001 +From a73c7d93b39be8ba657a7ea9635bc17bcb2ba759 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 15 May 2015 14:04:11 +0100 -Subject: [PATCH 52/97] [omxplayer] Make unsupported when ac3transcode is +Subject: [PATCH 052/100] [omxplayer] Make unsupported when ac3transcode is enabled --- @@ -4273,10 +4276,10 @@ index eff47e0..b954276 100644 { // find video stream -From f993c5bee35aa2a00a1eb66a56a812042d50f2ac Mon Sep 17 00:00:00 2001 +From 5653b18176534dead919f805f5ca1430c998ab6f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 1 Jun 2015 14:14:43 +0100 -Subject: [PATCH 53/97] [omximage] Don't report failed decode of progressive +Subject: [PATCH 053/100] [omximage] Don't report failed decode of progressive jpegs as as error --- @@ -4362,10 +4365,10 @@ index a43a446..890ca88 100644 } -From e31221e9c9b9f7ba3a2b7a36a97dfb9023cffd98 Mon Sep 17 00:00:00 2001 +From f7dca5ab0bb6e606f661820f4a5d28172e28d27b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 May 2015 19:01:00 +0100 -Subject: [PATCH 54/97] [rbp] Allow settings option for timestamp preference +Subject: [PATCH 054/100] [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 @@ -4439,10 +4442,10 @@ index 5f6b402..ce23bec 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From 5ef24b504e192305ec52f121475eb45d9875812c Mon Sep 17 00:00:00 2001 +From b267cc628998b7221a005fabd07700980ca0dcca Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 6 Jun 2015 18:44:37 +0100 -Subject: [PATCH 55/97] [rbp] Ignore pts value when m_hints.ptsinvalid set +Subject: [PATCH 055/100] [rbp] Ignore pts value when m_hints.ptsinvalid set --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -4476,10 +4479,10 @@ index ce23bec..e17fdb8 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From d8dc2b53bc190a17cb380efedb015eb5835daa41 Mon Sep 17 00:00:00 2001 +From 4f81908e104cabccf91b87dbafefc7d3916bc637 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 6 Jun 2015 18:43:57 +0100 -Subject: [PATCH 56/97] ffmpeg: Automatic switch to software decode for GMC +Subject: [PATCH 056/100] ffmpeg: Automatic switch to software decode for GMC with more than one warp point --- @@ -4650,10 +4653,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 69446dd3aec0506481036fc54fc7296dc5317602 Mon Sep 17 00:00:00 2001 +From cbf63035726a23c0d4c0e56a073c5cf39d721643 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 21:46:57 +0100 -Subject: [PATCH 57/97] [rbp] Use default resampling setting on Pi2 +Subject: [PATCH 057/100] [rbp] Use default resampling setting on Pi2 --- system/settings/rbp2.xml | 5 +++++ @@ -4676,10 +4679,10 @@ index b29a428..1c8b116 100644
-From 4db67f0d4315740e471cc675515067deddfb249a Mon Sep 17 00:00:00 2001 +From 289515a7f96751f323490ca7ec30e97eeb5865e0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 25 Jun 2015 19:43:10 +0100 -Subject: [PATCH 58/97] [rbp] HW mouse pointer +Subject: [PATCH 058/100] [rbp] HW mouse pointer Updating the mouse point provokes a complete screen update which can make it feel laggy and results in high cpu. @@ -5717,10 +5720,10 @@ index f6c8df0..5c2b583 100644 #endif -From 844077e2724b1e547e53f3d4c7f4aa1ca070e8c4 Mon Sep 17 00:00:00 2001 +From 958d47339a2427b66568fe7c2ea69831f111742a Mon Sep 17 00:00:00 2001 From: Roman Kraevskiy Date: Fri, 10 Jul 2015 23:36:34 +0300 -Subject: [PATCH 59/97] Mouse wheel support for X11-less linux distros +Subject: [PATCH 059/100] Mouse wheel support for X11-less linux distros (openelec) --- @@ -5928,10 +5931,10 @@ index cf1c5ce..954d823 100644 class CLinuxInputDevices -From f3d0ceb00e11c67b9caed033a7fadebe8a8e18cd Mon Sep 17 00:00:00 2001 +From 73f943c955674662396b11be531b060e48e4c47f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 Jun 2015 22:06:53 +0100 -Subject: [PATCH 60/97] [rbp] Flip default of prefer pts timestamps +Subject: [PATCH 060/100] [rbp] Flip default of prefer pts timestamps --- system/settings/rbp.xml | 2 +- @@ -5951,17 +5954,17 @@ index 8c6e69d..f9528bc 100644
-From b389e5ed3fd4695c46777f4f24feef9c6c5f84df Mon Sep 17 00:00:00 2001 +From 5a6394c526f55c6799e3962f8a6348994a92bcdd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 7 May 2015 14:28:37 +0100 -Subject: [PATCH 61/97] build: Add vcsm lib +Subject: [PATCH 061/100] build: Add vcsm lib --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index b752d8d..d04e2fa 100644 +index cb11ffb..60ff2e5 100644 --- a/configure.ac +++ b/configure.ac @@ -1059,7 +1059,7 @@ if test "$use_gles" = "yes"; then @@ -5974,10 +5977,10 @@ index b752d8d..d04e2fa 100644 AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library)) -From c8760f14a8cd56211b2df17e422201b2886c9cc3 Mon Sep 17 00:00:00 2001 +From a3d34d75e32b7b1eb140a1d2e00b9c96bd8ec37f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 20 Jul 2015 16:11:37 +0100 -Subject: [PATCH 62/97] [mmalcodec] Populate the framerate of video decoder +Subject: [PATCH 062/100] [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 @@ -6002,10 +6005,10 @@ index 3e97f1d..5b064d2 100644 error_concealment.hdr.id = MMAL_PARAMETER_VIDEO_DECODE_ERROR_CONCEALMENT; -From 455b16797440674bd4c21797866b0dcc8f81f017 Mon Sep 17 00:00:00 2001 +From fa3d1cdb0220a227b7fc6f2161eb9b04d9ef75b4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 22 Jul 2015 22:52:46 +0100 -Subject: [PATCH 63/97] [mmalcodec] Enable interpolate timestamps +Subject: [PATCH 063/100] [mmalcodec] Enable interpolate timestamps --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -6025,10 +6028,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 e3f6a243d27324345e4e189137978e9f25a1b06a Mon Sep 17 00:00:00 2001 +From 1fa31ca6a89e3afc8d73ddc220e3af872b931fa8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 00:55:47 +0100 -Subject: [PATCH 64/97] Revert "[rbp] Flip default of prefer pts timestamps" +Subject: [PATCH 064/100] Revert "[rbp] Flip default of prefer pts timestamps" This reverts commit 34100dcdf830a0e957df585108066c48d6c5c38d. --- @@ -6049,10 +6052,10 @@ index f9528bc..8c6e69d 100644 -From 3d6a8c8ecd2b151b41c5b472942577088d8217ac Mon Sep 17 00:00:00 2001 +From 634188b43f2fef26de9d7f0818aa4fe679762bb8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 00:56:56 +0100 -Subject: [PATCH 65/97] Revert "[rbp] Allow settings option for timestamp +Subject: [PATCH 065/100] Revert "[rbp] Allow settings option for timestamp preference" This reverts commit c0eef926dd376cbf8a7857b2848e118ea3689b98. @@ -6126,11 +6129,11 @@ index e17fdb8..f06ee9c 100644 if (pts == DVD_NOPTS_VALUE) pts = dts; -From 25864f89fdeb1a6f2e9c50946c761390b7d6cb5d Mon Sep 17 00:00:00 2001 +From 4cc3d3fa17f8ffd4206f44a56b82316deba1b32f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 23 Jul 2015 15:52:39 +0100 -Subject: [PATCH 66/97] [omxhelper] Ignore embedded coverart image when looking - for supported video streams +Subject: [PATCH 066/100] [omxhelper] Ignore embedded coverart image when + looking for supported video streams --- xbmc/cores/omxplayer/OMXHelper.cpp | 2 +- @@ -6150,10 +6153,10 @@ index b5ee4b6..59479fe 100644 CDVDStreamInfo hint(*stream, true); -From 46b5399fce0d8b69aac995fa4915ec9739096801 Mon Sep 17 00:00:00 2001 +From a293e4faa8345a022982bc40ce87beaca3ec551c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Jul 2015 18:39:25 +0100 -Subject: [PATCH 68/97] [mmalcodec] Don't set initial unknown timestamps to +Subject: [PATCH 068/100] [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 @@ -6222,10 +6225,10 @@ index bde8c06..42d6a7b 100644 int m_speed; bool m_preroll; -From 2a30906ff53ef44c7e44eb135952f6ce15a7cca1 Mon Sep 17 00:00:00 2001 +From b34316efe7018bac17f95ed4afb7d850832c9ae4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Jul 2015 22:53:21 +0100 -Subject: [PATCH 69/97] [mmalcodec] Tidy up setting of timestamp flags +Subject: [PATCH 069/100] [mmalcodec] Tidy up setting of timestamp flags --- xbmc/cores/omxplayer/OMXVideo.cpp | 27 ++++++++++++++------------- @@ -6279,10 +6282,10 @@ index 832a9c9..1a08aa9 100644 memcpy(omx_buffer->pBuffer, demuxer_content, omx_buffer->nFilledLen); -From 498fb5c8efa41e687a70ca9139cdb54338cd50dd Mon Sep 17 00:00:00 2001 +From ab872c49995e776214c6a5fd6d02c3a00b5cfcf4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 25 Jul 2015 15:32:35 +0100 -Subject: [PATCH 70/97] [rbp] Only send changes in hw cursor state +Subject: [PATCH 070/100] [rbp] Only send changes in hw cursor state --- xbmc/linux/RBP.cpp | 9 ++++++++- @@ -6333,11 +6336,11 @@ 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 7d8330b84f83954720c050f94144aa65e14c7cd5 Mon Sep 17 00:00:00 2001 +From bc665147a5b77c980e58a73ae9fcebecddf033f9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Jul 2015 00:08:58 +0100 -Subject: [PATCH 71/97] [mmalcodec] Use both dts and pts for determining amount - of queued data +Subject: [PATCH 071/100] [mmalcodec] Use both dts and pts for determining + amount of queued data --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 10 ++++++++-- @@ -6399,10 +6402,10 @@ index 42d6a7b..f8f5209 100644 int m_speed; bool m_preroll; -From 03afdcd286a07d78a16bf0c7423deb46e980313f Mon Sep 17 00:00:00 2001 +From ac6ae272ef8ff57ed1a999bcfd4fabc49ee15765 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Jul 2015 17:47:33 +0100 -Subject: [PATCH 72/97] [rbp] Refactor the vsync handle to support multiple +Subject: [PATCH 072/100] [rbp] Refactor the vsync handle to support multiple callers --- @@ -6543,11 +6546,11 @@ index be0cafc..0572b47 100644 CCriticalSection m_critSection; -From db71a4dee9114a8af10d12fba56ff44b32dd5798 Mon Sep 17 00:00:00 2001 +From 8325bffa3c7dfcc02076b176975c11f7b03571ad Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 14:06:17 +0100 -Subject: [PATCH 73/97] [mmalrenderer] Wait for vsync before submitting to mmal - when display sync is disabled +Subject: [PATCH 073/100] [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. The issue is when display sync is disabled, and framerate of video matches display, and render times are coincident with vsync @@ -6633,10 +6636,10 @@ index 9bced7e..ec279ed 100644 + void SubmitFrame(MMAL_BUFFER_HEADER_T *buffer); }; -From 8507e6407c1a5352ffe3641b568a95fd9593ff18 Mon Sep 17 00:00:00 2001 +From 1d65392cfdb65de6263948ee61212b8673d21be7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 15:07:22 +0100 -Subject: [PATCH 74/97] [omxplayer] Support per refresh rate display latency +Subject: [PATCH 074/100] [omxplayer] Support per refresh rate display latency settings --- @@ -6661,10 +6664,10 @@ index f06ee9c..4ad66a8 100644 m_omxVideo.Decode(pPacket->pData, pPacket->iSize, dts, m_hints.ptsinvalid ? DVD_NOPTS_VALUE : pts); -From d00949b532eac144ac6c0f041420463ecdb3ced5 Mon Sep 17 00:00:00 2001 +From 70d0a1afa22b87eb9bb6968c7e3cc65fee6de2be Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 15:46:18 +0100 -Subject: [PATCH 75/97] squash: release gfx lock when blocking +Subject: [PATCH 075/100] squash: release gfx lock when blocking --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 1 + @@ -6683,10 +6686,11 @@ index 2e2bc83..c80a8a6 100644 #if defined(MMAL_DEBUG_VERBOSE) CLog::Log(LOGDEBUG, "%s::%s - done vsync:%d", CLASSNAME, __func__, m_vsyncCount); -From 4458af8dfc1b19bf21d91a7ec1b0ea6ffad9f051 Mon Sep 17 00:00:00 2001 +From 80b95491d82075ff13ac45fa8fc7184a660258da Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 17:34:11 +0100 -Subject: [PATCH 76/97] [rbp] Leave 3D framepacking output disabled by default +Subject: [PATCH 076/100] [rbp] Leave 3D framepacking output disabled by + default --- system/settings/rbp.xml | 2 +- @@ -6706,11 +6710,11 @@ index b27d23f..bf3b05f 100644 -From 80a7665f661a10053dfa6d3c7f69e0aabbdcca4a Mon Sep 17 00:00:00 2001 +From 016a4c59339bd8e7205475013737fae416886f17 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 17:26:30 +0100 -Subject: [PATCH 77/97] [omxplayer] Allow automatic switching back to omxplayer - after it has been disabled +Subject: [PATCH 077/100] [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). However if you play another file without quitting dvdplayer, it doesn't reconsider. @@ -6725,7 +6729,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 0ceae20..3fea73f 100644 +index 3118be2..a572bc2 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -519,10 +519,11 @@ void CDVDPlayer::CreatePlayers() @@ -6757,10 +6761,10 @@ index 59479fe..014eaf1 100644 if (!CSettings::Get().GetBool("videoplayer.usemmal")) return false; -From d437937539f8b750e096585e3364287b856a4061 Mon Sep 17 00:00:00 2001 +From 202bf4a032763605d21ba42a29c9df41a71360a1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jul 2015 21:05:41 +0100 -Subject: [PATCH 78/97] [omxplayer] Set audio properties for passthrough +Subject: [PATCH 078/100] [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 @@ -6783,11 +6787,11 @@ index 1911189..4072f7d 100644 m_SampleRate = m_format.m_sampleRate; m_BitsPerSample = CAEUtil::DataFormatToBits(m_format.m_dataFormat); -From 81cdc97695125f7992f1bf1613d24b1145aa4b9a Mon Sep 17 00:00:00 2001 +From 1eee018bcf8e8a1a1fc4f64d2f8e5ebbae20038c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 31 Jul 2015 16:38:06 +0100 -Subject: [PATCH 79/97] squash: mmal: increase queue limit to 1 second to avoid - stalls +Subject: [PATCH 079/100] squash: mmal: increase queue limit to 1 second to + avoid stalls --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -6807,10 +6811,10 @@ index 6cf4023..7fea172 100644 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 47f8bebb0cdc5cfc8dfc33c5c369fee4df1094e0 Mon Sep 17 00:00:00 2001 +From ae9a3e037128369a843ae66d4f1e2a2d7baa29f1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 6 Aug 2015 11:25:08 +0100 -Subject: [PATCH 80/97] Revert "squash: release gfx lock when blocking" +Subject: [PATCH 080/100] Revert "squash: release gfx lock when blocking" This reverts commit f10f0af15d0b57d148f5b3556fd9f94bb2f44509. --- @@ -6830,11 +6834,11 @@ index c80a8a6..2e2bc83 100644 #if defined(MMAL_DEBUG_VERBOSE) CLog::Log(LOGDEBUG, "%s::%s - done vsync:%d", CLASSNAME, __func__, m_vsyncCount); -From dc66ac9b33e196322a19b91d6a29274cfceabceb Mon Sep 17 00:00:00 2001 +From 07f5b95bf68feda10424410f25ce158692bd1eeb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 6 Aug 2015 11:25:21 +0100 -Subject: [PATCH 81/97] Revert "[mmalrenderer] Wait for vsync before submitting - to mmal when display sync is disabled" +Subject: [PATCH 081/100] Revert "[mmalrenderer] Wait for vsync before + submitting to mmal when display sync is disabled" This reverts commit f1a4416194f75f75e2145ec3fe64aee1177d3ccc. --- @@ -6916,10 +6920,10 @@ index ec279ed..9bced7e 100644 - void SubmitFrame(MMAL_BUFFER_HEADER_T *buffer); }; -From 5c9a4ed55499d4e9abe7f1e48928abe170478a55 Mon Sep 17 00:00:00 2001 +From 7a7663d4157750849712e41d7bb5ba701b4e2c71 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 6 Aug 2015 11:25:30 +0100 -Subject: [PATCH 82/97] Revert "[rbp] Refactor the vsync handle to support +Subject: [PATCH 082/100] Revert "[rbp] Refactor the vsync handle to support multiple callers" This reverts commit 68bd91282359a9da4645af4eeead7b2842f835eb. @@ -7061,10 +7065,11 @@ index 0572b47..be0cafc 100644 CCriticalSection m_critSection; -From 44d831513b0336d335d35dc36fea6b750ef772f0 Mon Sep 17 00:00:00 2001 +From 08c932d103afc098ad828aa4baf5038a5ba10588 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 6 Aug 2015 11:23:05 +0100 -Subject: [PATCH 83/97] [rbp] Make sync playback to display the default option +Subject: [PATCH 083/100] [rbp] Make sync playback to display the default + option --- system/settings/rbp.xml | 7 +++++++ @@ -7089,10 +7094,10 @@ index bf3b05f..0743176 100644 false -From dddb1219bda8d94e470b2155016f4523b748bf6d Mon Sep 17 00:00:00 2001 +From bed5c73dd318408b8c1e7762b87be28214a42958 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 31 Jul 2015 18:39:31 +0100 -Subject: [PATCH 84/97] [mmalcodec] Tidy up debug logging for decode +Subject: [PATCH 084/100] [mmalcodec] Tidy up debug logging for decode --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 16 ++++------------ @@ -7141,10 +7146,10 @@ index 7fea172..756b845 100644 } -From 7d53fae11832cab78fa115401d889d782ba03515 Mon Sep 17 00:00:00 2001 +From 15fa59d3608dbf28dc49384f220d9412176f364b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 6 Aug 2015 13:25:32 +0100 -Subject: [PATCH 85/97] [rbp] Don't enable DTS-HD by default on Pi2 +Subject: [PATCH 085/100] [rbp] Don't enable DTS-HD by default on Pi2 Reports of no audio with omxplayer and this enabled that are not yet understood @@ -7169,10 +7174,10 @@ index 1c8b116..52778ecd 100644 -From 61838ea87734c65f78b2b5c0d2daf9368549e72d Mon Sep 17 00:00:00 2001 +From 97bff94a5c6341728b3c11ab16c9fa65e95fc869 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 7 Aug 2015 18:09:09 +0100 -Subject: [PATCH 86/97] Revert "[rbp] Don't enable DTS-HD by default on Pi2" +Subject: [PATCH 086/100] Revert "[rbp] Don't enable DTS-HD by default on Pi2" This reverts commit 8166e8990b8cf599cc4eb1641c58fad1f1f0821f. --- @@ -7196,10 +7201,10 @@ index 52778ecd..1c8b116 100644 -From 369453f1b7a2f525bf6c0a37d403464dea75eaae Mon Sep 17 00:00:00 2001 +From 50d9de5e2d3182fbc19c806ba18f77bbf43decda Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 14 Aug 2015 17:46:11 +0100 -Subject: [PATCH 88/97] [mmalrenderer] Add reference counting to sw decode +Subject: [PATCH 088/100] [mmalrenderer] Add reference counting to sw decode buffer and improve logging messages --- @@ -7549,10 +7554,10 @@ index 9bced7e..5fbcb03 100644 CCriticalSection m_sharedSection; MMAL_COMPONENT_T *m_vout; -From ff40dc247bc16915e97eb0dca88a7f5a889ad200 Mon Sep 17 00:00:00 2001 +From 1847f250fc140b51e781de4293f4bdc72a6ed117 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 15 Aug 2015 14:27:10 +0100 -Subject: [PATCH 89/97] [mmalrenderer] Use half rate deinterlace when playing +Subject: [PATCH 089/100] [mmalrenderer] Use half rate deinterlace when playing video in background --- @@ -7583,10 +7588,10 @@ index 756b845..56a9121 100644 deinterlace = false; else if (deinterlace_request == VS_DEINTERLACEMODE_FORCE) -From ba9947c5c466c1ec93388c3f87d07ca4e2a21bb2 Mon Sep 17 00:00:00 2001 +From 2cf9bdbb7433388370653d0b9b97cf2eadccfbdd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 13 Aug 2015 16:30:31 +0100 -Subject: [PATCH 90/97] squash: rbp: Remove HW mouse pointer when mouse is +Subject: [PATCH 090/100] squash: rbp: Remove HW mouse pointer when mouse is disabled in GUI --- @@ -7660,10 +7665,10 @@ index bde7649..89aca2b 100644 return ret; } -From 4b94bd782b8e7f1cdec7c1d50e85ef545f48fc06 Mon Sep 17 00:00:00 2001 +From 9e7033c49cd99640325abaf6b9534ccf2ced97fe Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 9 Aug 2015 18:01:34 +0100 -Subject: [PATCH 91/97] [rbp] Add ntsc version of 48Hz mode +Subject: [PATCH 091/100] [rbp] Add ntsc version of 48Hz mode --- xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 2 +- @@ -7683,10 +7688,10 @@ index 25a97ad..25475bf 100644 RESOLUTION_INFO res2 = res; res2.fRefreshRate = (float)tv->frame_rate * (1000.0f/1001.0f); -From f84267b07136093e2363057ba6d1372142182a80 Mon Sep 17 00:00:00 2001 +From 6563dca0bd3006aa71fe98bbdce30c4b58cb1848 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 22 Aug 2015 23:06:56 +0100 -Subject: [PATCH 92/97] [dvdmessage] Increase timeout on +Subject: [PATCH 092/100] [dvdmessage] Increase timeout on CDVDMsgGeneralSynchronize --- @@ -7707,10 +7712,10 @@ index ae745c6..73fff98 100644 if(abort && *abort) return; -From d04c4d341ca27d56a762a6303657561280bc2e35 Mon Sep 17 00:00:00 2001 +From e0097ee5ac47accbdef83e24b229eecc633014fd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 22 Aug 2015 23:19:15 +0100 -Subject: [PATCH 93/97] [mmalcodec] refector the decoder flags logic to avoid +Subject: [PATCH 093/100] [mmalcodec] refector the decoder flags logic to avoid stalls on seek --- @@ -7809,10 +7814,10 @@ index 56a9121..557faa2 100644 } -From 188d7b4c301e5c1e632c64710adca7365a92e742 Mon Sep 17 00:00:00 2001 +From d733cf94e2a98db3a44f8035e466ed67d5bc0d3c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 23 Aug 2015 18:57:34 +0100 -Subject: [PATCH 94/97] [omxplayer] Flush EOS message from queue to avoid it +Subject: [PATCH 094/100] [omxplayer] Flush EOS message from queue to avoid it turning up after a seek A GENERAL_EOS is queued when demuxer reaches EOF but playback may continue for several seconds. @@ -7848,10 +7853,10 @@ index 4ad66a8..276857f 100644 } -From 1c8e06bda0301646a4fc6ec66beca5103da6f819 Mon Sep 17 00:00:00 2001 +From e4971e53c16f1e11907764c580b35a5507dce7b7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Jul 2015 19:27:25 +0100 -Subject: [PATCH 95/97] [rbp] Enable QPU based deinterlace and remove +Subject: [PATCH 095/100] [rbp] Enable QPU based deinterlace and remove resolution limit --- @@ -7920,10 +7925,10 @@ index 1a08aa9..fbb395d 100644 image_filter.eImageFilter = OMX_ImageFilterDeInterlaceFast; else -From f987b46adee7cd8ce0834cf092581cc1dbe5954b Mon Sep 17 00:00:00 2001 +From 45675407456e03348c7f7774f1d80d2fbca4a006 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 16 Aug 2015 15:46:33 +0100 -Subject: [PATCH 96/97] [mmalrenderer] Allow deinterlace with software decode +Subject: [PATCH 096/100] [mmalrenderer] Allow deinterlace with software decode --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 9 +++++++++ @@ -7957,40 +7962,196 @@ index e278184..1eb8936 100644 } -From e14ecaac22733e60969ccb82ce57020f640d3f67 Mon Sep 17 00:00:00 2001 +From a5a13a9ee012234f9089b3f2e0cc62bcffaf01af Mon Sep 17 00:00:00 2001 From: popcornmix -Date: Mon, 31 Aug 2015 15:41:11 +0100 -Subject: [PATCH 97/97] [peripherals] Move initialisation after language init - to fix notifications +Date: Wed, 9 Sep 2015 23:34:41 +0100 +Subject: [PATCH 098/100] [rbp] Extract the correct resolution with Pi LCD -Lots of complaints on Isengard are master that CEC generates an empty notification popup on boot. -The problem is that peripherals are initialised before the language files are loaded so -g_localizeStrings.Get returns a blank string. - -Move the periphal initialisation after the language initialisation to avoid this. --- - xbmc/Application.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 20 +++++++++++++++++--- + 1 file changed, 17 insertions(+), 3 deletions(-) -diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 5776389..a2a8691 100644 ---- a/xbmc/Application.cpp -+++ b/xbmc/Application.cpp -@@ -673,8 +673,6 @@ bool CApplication::Create() - return false; +diff --git a/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp b/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp +index 25475bf..bccb774 100644 +--- a/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp ++++ b/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp +@@ -569,6 +569,18 @@ bool CEGLNativeTypeRaspberryPI::ProbeResolutions(std::vector &r + m_desktopRes.fRefreshRate = (float)tv_state.display.sdtv.frame_rate; + m_desktopRes.fPixelRatio = tv_state.display.hdmi.display_options.aspect == 0 ? 1.0f : get_display_aspect_ratio((SDTV_ASPECT_T)tv_state.display.sdtv.display_options.aspect) / ((float)m_desktopRes.iScreenWidth / (float)m_desktopRes.iScreenHeight); + } ++ else if ((tv_state.state & VC_LCD_ATTACHED_DEFAULT) != 0) // lcd ++ { ++ m_desktopRes.iScreen = 0; ++ m_desktopRes.bFullScreen = true; ++ m_desktopRes.iWidth = tv_state.display.sdtv.width; ++ m_desktopRes.iHeight = tv_state.display.sdtv.height; ++ m_desktopRes.iScreenWidth = tv_state.display.sdtv.width; ++ m_desktopRes.iScreenHeight= tv_state.display.sdtv.height; ++ m_desktopRes.dwFlags = MAKEFLAGS(HDMI_RES_GROUP_INVALID, 0, 0); ++ m_desktopRes.fRefreshRate = (float)tv_state.display.sdtv.frame_rate; ++ m_desktopRes.fPixelRatio = tv_state.display.hdmi.display_options.aspect == 0 ? 1.0f : get_display_aspect_ratio((SDTV_ASPECT_T)tv_state.display.sdtv.display_options.aspect) / ((float)m_desktopRes.iScreenWidth / (float)m_desktopRes.iScreenHeight); ++ } + + SetResolutionString(m_desktopRes); + +@@ -579,9 +591,11 @@ bool CEGLNativeTypeRaspberryPI::ProbeResolutions(std::vector &r + CLog::Log(LOGDEBUG, "EGL initial desktop resolution %s (%.2f)\n", m_desktopRes.strMode.c_str(), m_desktopRes.fPixelRatio); } -- g_peripherals.Initialise(); +- GetSupportedModes(HDMI_RES_GROUP_CEA, resolutions); +- GetSupportedModes(HDMI_RES_GROUP_DMT, resolutions); - - // Create the Mouse, Keyboard, Remote, and Joystick devices - // Initialize after loading settings to get joystick deadzone setting - CInputManager::Get().InitializeInputs(); -@@ -1117,6 +1115,8 @@ bool CApplication::Initialize() - if (!LoadLanguage(false)) - return false; ++ if(GETFLAGS_GROUP(m_desktopRes.dwFlags) && GETFLAGS_MODE(m_desktopRes.dwFlags)) ++ { ++ GetSupportedModes(HDMI_RES_GROUP_CEA, resolutions); ++ GetSupportedModes(HDMI_RES_GROUP_DMT, resolutions); ++ } + { + AddUniqueResolution(m_desktopRes, resolutions); + CLog::Log(LOGDEBUG, "EGL probe resolution %s:%x\n", m_desktopRes.strMode.c_str(), m_desktopRes.dwFlags); + +From 19c583a5b7612092ad8973cb9a817f418b0d1597 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 15 Sep 2015 22:26:26 +0100 +Subject: [PATCH 099/100] squash: omxplayer: Don't use AutoInterlaceMethod it + changes at start of file + +--- + xbmc/cores/omxplayer/OMXHelper.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/xbmc/cores/omxplayer/OMXHelper.cpp b/xbmc/cores/omxplayer/OMXHelper.cpp +index 014eaf1..72ed3ab 100644 +--- a/xbmc/cores/omxplayer/OMXHelper.cpp ++++ b/xbmc/cores/omxplayer/OMXHelper.cpp +@@ -132,19 +132,19 @@ bool OMXDoProcessing(struct SOmxPlayerState &m_OmxPlayerState, int m_playSpeed, + bool audio_fifo_low = false, video_fifo_low = false, audio_fifo_high = false, video_fifo_high = false; -+ g_peripherals.Initialise(); + if (m_OmxPlayerState.interlace_method == VS_INTERLACEMETHOD_MAX) +- m_OmxPlayerState.interlace_method = g_renderManager.AutoInterlaceMethod(CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod); ++ m_OmxPlayerState.interlace_method = CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod; + + // if deinterlace setting has changed, we should close and open video + if (m_OmxPlayerState.current_deinterlace != CMediaSettings::Get().GetCurrentVideoSettings().m_DeinterlaceMode || + (m_OmxPlayerState.current_deinterlace != VS_DEINTERLACEMODE_OFF && +- m_OmxPlayerState.interlace_method != g_renderManager.AutoInterlaceMethod(CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod))) ++ m_OmxPlayerState.interlace_method != CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod)) + { + CLog::Log(LOGNOTICE, "%s - Reopen stream due to interlace change (%d,%d,%d,%d)", __FUNCTION__, + m_OmxPlayerState.current_deinterlace, CMediaSettings::Get().GetCurrentVideoSettings().m_DeinterlaceMode, +- m_OmxPlayerState.interlace_method, g_renderManager.AutoInterlaceMethod(CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod)); ++ m_OmxPlayerState.interlace_method, CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod); + + m_OmxPlayerState.current_deinterlace = CMediaSettings::Get().GetCurrentVideoSettings().m_DeinterlaceMode; +- m_OmxPlayerState.interlace_method = g_renderManager.AutoInterlaceMethod(CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod); ++ m_OmxPlayerState.interlace_method = CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod; + reopen_stream = true; + } + + +From 18bca1ea11093bef939a375a8b845a0c1c3dc0d5 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Wed, 16 Sep 2015 15:05:37 +0100 +Subject: [PATCH 100/100] [omxplayer] Avoid calling render callback with the + lock held to avoid a deadlock + +--- + xbmc/cores/omxplayer/OMXVideo.cpp | 27 ++++++++++++++------------- + xbmc/cores/omxplayer/OMXVideo.h | 10 +++++++++- + 2 files changed, 23 insertions(+), 14 deletions(-) + +diff --git a/xbmc/cores/omxplayer/OMXVideo.cpp b/xbmc/cores/omxplayer/OMXVideo.cpp +index fbb395d..aaea687 100644 +--- a/xbmc/cores/omxplayer/OMXVideo.cpp ++++ b/xbmc/cores/omxplayer/OMXVideo.cpp +@@ -141,9 +141,8 @@ bool COMXVideo::NaluFormatStartCodes(enum AVCodecID codec, uint8_t *in_extradata + return false; + } + +-bool COMXVideo::PortSettingsChanged() ++bool COMXVideo::PortSettingsChanged(ResolutionUpdateInfo &resinfo) + { +- CSingleLock lock (m_critSection); + OMX_ERRORTYPE omx_err = OMX_ErrorNone; + + if (m_settings_changed) +@@ -186,15 +185,13 @@ bool COMXVideo::PortSettingsChanged() + port_image.format.video.xFramerate / (float)(1<<16), interlace.eMode, m_deinterlace); + + // let OMXPlayerVideo know about resolution so it can inform RenderManager +- if (m_res_callback) +- { +- float display_aspect = 0.0f; +- if (pixel_aspect.nX && pixel_aspect.nY) +- display_aspect = (float)pixel_aspect.nX * port_image.format.video.nFrameWidth / +- ((float)pixel_aspect.nY * port_image.format.video.nFrameHeight); +- m_res_callback(m_res_ctx, port_image.format.video.nFrameWidth, port_image.format.video.nFrameHeight, +- port_image.format.video.xFramerate / (float)(1<<16), display_aspect); +- } ++ resinfo.width = port_image.format.video.nFrameWidth; ++ resinfo.height = port_image.format.video.nFrameHeight; ++ resinfo.framerate = port_image.format.video.xFramerate / (float)(1<<16); ++ resinfo.display_aspect = 0.0f; ++ resinfo.changed = true; ++ if (pixel_aspect.nX && pixel_aspect.nY) ++ resinfo.display_aspect = (float)pixel_aspect.nX * port_image.format.video.nFrameWidth / ((float)pixel_aspect.nY * port_image.format.video.nFrameHeight); + + if (m_settings_changed) + { +@@ -798,10 +795,11 @@ int COMXVideo::Decode(uint8_t *pData, int iSize, double dts, double pts) + } + //CLog::Log(LOGINFO, "VideD: dts:%.0f pts:%.0f size:%d)\n", dts, pts, iSize); + ++ ResolutionUpdateInfo resinfo = {}; + omx_err = m_omx_decoder.WaitForEvent(OMX_EventPortSettingsChanged, 0); + if (omx_err == OMX_ErrorNone) + { +- if(!PortSettingsChanged()) ++ if(!PortSettingsChanged(resinfo)) + { + CLog::Log(LOGERROR, "%s::%s - error PortSettingsChanged omx_err(0x%08x)\n", CLASSNAME, __func__, omx_err); + return false; +@@ -810,11 +808,14 @@ int COMXVideo::Decode(uint8_t *pData, int iSize, double dts, double pts) + omx_err = m_omx_decoder.WaitForEvent(OMX_EventParamOrConfigChanged, 0); + if (omx_err == OMX_ErrorNone) + { +- if(!PortSettingsChanged()) ++ if(!PortSettingsChanged(resinfo)) + { + CLog::Log(LOGERROR, "%s::%s - error PortSettingsChanged (EventParamOrConfigChanged) omx_err(0x%08x)\n", CLASSNAME, __func__, omx_err); + } + } ++ lock.Leave(); ++ if (resinfo.changed && m_res_callback) ++ m_res_callback(m_res_ctx, resinfo.width, resinfo.height, resinfo.framerate, resinfo.display_aspect); + } + return true; + +diff --git a/xbmc/cores/omxplayer/OMXVideo.h b/xbmc/cores/omxplayer/OMXVideo.h +index 86e94ce..31982b4 100644 +--- a/xbmc/cores/omxplayer/OMXVideo.h ++++ b/xbmc/cores/omxplayer/OMXVideo.h +@@ -41,6 +41,14 @@ + + typedef void (*ResolutionUpdateCallBackFn)(void *ctx, uint32_t width, uint32_t height, float framerate, float display_aspect); + ++struct ResolutionUpdateInfo { ++ uint32_t width; ++ uint32_t height; ++ float framerate; ++ float display_aspect; ++ bool changed; ++}; + - // Load curl so curl_global_init gets called before any service threads - // are started. Unloading will have no effect as curl is never fully unloaded. - // To quote man curl_global_init: + class COMXVideo + { + public: +@@ -50,7 +58,7 @@ class COMXVideo + // Required overrides + bool SendDecoderConfig(); + bool Open(CDVDStreamInfo &hints, OMXClock *clock, EDEINTERLACEMODE deinterlace = VS_DEINTERLACEMODE_OFF, bool hdmi_clock_sync = false); +- bool PortSettingsChanged(); ++ bool PortSettingsChanged(ResolutionUpdateInfo &resinfo); + void RegisterResolutionUpdateCallBack(void *ctx, ResolutionUpdateCallBackFn callback) { m_res_ctx = ctx; m_res_callback = callback; } + void Close(void); + unsigned int GetFreeSpace();