diff --git a/projects/RPi/patches/kodi/kodi-001-newclock4.patch b/projects/RPi/patches/kodi/kodi-001-newclock4.patch index 20710d7789..1aec683e71 100644 --- a/projects/RPi/patches/kodi/kodi-001-newclock4.patch +++ b/projects/RPi/patches/kodi/kodi-001-newclock4.patch @@ -1,7 +1,7 @@ -From db6c4f2941023453ff8269f93f578ac08dcc2c82 Mon Sep 17 00:00:00 2001 +From 213fada4b79f1510b62ea5d3e0db625e3b932790 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 18:19:32 +0100 -Subject: [PATCH 01/94] [rbp/omxplayer] When opening a stream don't try to +Subject: [PATCH 01/95] [rbp/omxplayer] When opening a stream don't try to update gui so often --- @@ -25,10 +25,10 @@ index e7cfcdd..20b99ad 100644 g_windowManager.ProcessRenderLoop(false); if (allowCancel && dialog->IsCanceled()) -From fda46bc1a4ff23967837db9e1e84088700be1d2f Mon Sep 17 00:00:00 2001 +From 60937aa306d5ae25d3c1bb81d27e1505eca95151 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 29 Apr 2014 15:23:22 +0100 -Subject: [PATCH 02/94] [ffmpeg] Speed up wtv index creation +Subject: [PATCH 02/95] [ffmpeg] Speed up wtv index creation The index creation is O(N^2) with number of entries (typically thousands). On a Pi this can take more than 60 seconds to execute for a recording of a few hours. @@ -114,10 +114,10 @@ index 0000000..4ac5636 + } + } -From 984e194a9224f70a302e563cca411d3688c09426 Mon Sep 17 00:00:00 2001 +From eeae799ba03194477ada9c0ce75eee20d3063be0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 2 Aug 2014 17:48:04 +0100 -Subject: [PATCH 08/94] [omx] Report decoded image name +Subject: [PATCH 08/95] [omx] Report decoded image name --- xbmc/cores/omxplayer/OMXImage.cpp | 1 + @@ -136,10 +136,10 @@ index aa413b9..22ec3f0 100644 else { -From 1e2b37f26d4d7e0c183f9ea40141afdfd90efd46 Mon Sep 17 00:00:00 2001 +From a1eb97798fa8858a6bc0cc1732aa3b0d7d5ec400 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Dec 2013 16:55:05 +0000 -Subject: [PATCH 09/94] logging: Add microsecond timer to log messages +Subject: [PATCH 09/95] logging: Add microsecond timer to log messages --- xbmc/utils/log.cpp | 17 +++++++++++++++-- @@ -192,10 +192,10 @@ index 3443f12..31c4a99 100644 levelNames[logLevel]) + strData; -From 3bb9dc1a63b6d50646ccaa7e5081996406a92241 Mon Sep 17 00:00:00 2001 +From 768c21bae98cf811276327b1deed1a99c1ff9e10 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Mar 2014 15:36:06 +0000 -Subject: [PATCH 10/94] [hifiberry] Hack: force it to be recognised as IEC958 +Subject: [PATCH 10/95] [hifiberry] Hack: force it to be recognised as IEC958 capable to enable passthrough options --- @@ -218,10 +218,10 @@ index d30cbab..b268819 100644 info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI") { -From c029c4b977b3ab2ed6e6b536dd801277aee6ca38 Mon Sep 17 00:00:00 2001 +From 6a47f8901e5d6a60d3c1f2c5c8da8ad5e2ed71c7 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 11 Dec 2013 17:21:54 +0000 -Subject: [PATCH 11/94] Move the reference-counting of Begin and End calls from +Subject: [PATCH 11/95] Move the reference-counting of Begin and End calls from DX and GL source files into GUIFontTTF.cpp. --- @@ -609,10 +609,10 @@ index c0bb53a..735fb3a 100644 protected: virtual CBaseTexture* ReallocTexture(unsigned int& newHeight); -From fc9f443592fe9ea2f642f8977d1d56f1be6c91a2 Mon Sep 17 00:00:00 2001 +From f29fd426eaeedfaba2308deccca580d9c567db73 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 11 Dec 2013 18:47:54 +0000 -Subject: [PATCH 12/94] Convert CGUIFontTTFBase::m_vertex to be managed as a +Subject: [PATCH 12/95] Convert CGUIFontTTFBase::m_vertex to be managed as a std::vector. Also retired CGUIFontTTFBase::m_vertex_count and @@ -792,10 +792,10 @@ index 97853fd..b76c6a5 100644 *vertices++ = m_vertex[i]; *vertices++ = m_vertex[i+1]; -From 366a96b8cb1731d1dcac35a308daf740bfb0c97c Mon Sep 17 00:00:00 2001 +From 3ce54634e23b5147b19c7790ad0d2b0e468ef272 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 16 Dec 2013 18:58:12 +0000 -Subject: [PATCH 13/94] CGUIFontTTFBase::RenderCharacter can now append to +Subject: [PATCH 13/95] CGUIFontTTFBase::RenderCharacter can now append to arbitrary vectors of vertices rather than only CGUIFontTTFBase::m_vertex --- @@ -868,10 +868,10 @@ index 5675725..a5d44f4 100644 virtual CBaseTexture* ReallocTexture(unsigned int& newHeight) = 0; -From 36f29ea2cd28132a8ea39af65557ac0057395ca4 Mon Sep 17 00:00:00 2001 +From 9094476e380fe0057c8b596cad18c44ca2436d96 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 17:18:38 +0000 -Subject: [PATCH 14/94] Add a cache of font glyph bounding box vertices. +Subject: [PATCH 14/95] Add a cache of font glyph bounding box vertices. This is implemented as a template because ultimately we will key on different parameters and store values of different types, depending upon whether we @@ -950,7 +950,7 @@ index 5a81f22..debdf4e 100644 E4991321174E5DAD00741B6D /* imagefactory.cpp in Sources */, E4991322174E5DAD00741B6D /* IWindowManagerCallback.cpp in Sources */, diff --git a/project/VS2010Express/XBMC.vcxproj b/project/VS2010Express/XBMC.vcxproj -index 9c36fae..d2b8d9a 100644 +index ce1b60a..d1a3703 100644 --- a/project/VS2010Express/XBMC.vcxproj +++ b/project/VS2010Express/XBMC.vcxproj @@ -427,6 +427,7 @@ @@ -1631,10 +1631,10 @@ index f351c99..9036ba9 100644 + return !operator==(a, b); +} -From 2b8e7c7469380dbf0f881e9986a69130a56b71cc Mon Sep 17 00:00:00 2001 +From f7ea60e9475a671f697bf05495289563c693fd04 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 23 Jan 2014 22:24:17 +0000 -Subject: [PATCH 15/94] Lay the groundwork for hardware clipping. +Subject: [PATCH 15/95] Lay the groundwork for hardware clipping. For glScissor() to replace CGraphicContext::ClipRect, a necessary condition is that no shear or rotation is introduced between the coordinate systems @@ -1896,10 +1896,10 @@ index 98e398a..81ee49e 100644 virtual void ResetScissors(); -From cbffceaa81fec314a3137bd405b7bb974f7dc20b Mon Sep 17 00:00:00 2001 +From 87cc9b25471fceebd816aff415e41afc00ce753a Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 23 Jan 2014 16:42:22 +0000 -Subject: [PATCH 16/94] Increase font cache hit rate by keying on the +Subject: [PATCH 16/95] Increase font cache hit rate by keying on the fractional part of m_originX and m_originY *after* they have been through the graphics context's transformation matrix, plus the scale/rotation elements of the matrix, rather than the origin in the original frame of reference plus @@ -2100,10 +2100,10 @@ index 3b93672..258dffa 100644 private: virtual bool FirstBegin() = 0; -From 5c2fca4ac8613f7791bd9171b52af2cffce46cd8 Mon Sep 17 00:00:00 2001 +From a89cd1ce9b747f997c4435bb52b951f7533a0eca Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 8 Jan 2014 12:16:33 +0000 -Subject: [PATCH 17/94] Rewrite of scrolling text code. +Subject: [PATCH 17/95] Rewrite of scrolling text code. No longer shuffles the string round to minimise the number of characters before the clipping rectangle; this doesn't save much on rendering time but @@ -2419,10 +2419,10 @@ index 2cda726..fbc579e 100644 private: void Process(); -From 4ec3b5a0d0629a566b2031e2b6d28fecd5b78768 Mon Sep 17 00:00:00 2001 +From be3d5e40bb2a239eff86d5e5d759da419f7d51e3 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 27 Jan 2014 23:21:10 +0000 -Subject: [PATCH 18/94] Move the application of the translation offsets into +Subject: [PATCH 18/95] Move the application of the translation offsets into the GLES code. Still all pure software at this stage. Main change is in the data types at @@ -2616,10 +2616,10 @@ index 9935ea4..18c9358 100644 memset(newTexture->GetPixels(), 0, m_textureHeight * newTexture->GetPitch()); if (m_texture) -From 7fa47d99872218dac2bdb17140722d328902d004 Mon Sep 17 00:00:00 2001 +From ba49d0cca3a1e3929265cc9a2c1f7cc709c63753 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 15:28:06 +0000 -Subject: [PATCH 19/94] Rather than applying the translation offsets to the +Subject: [PATCH 19/95] Rather than applying the translation offsets to the vertices, now applies them to the model view matrix from the top of the matrix stack and pushes it over to OpenGL. The vertices themselves are still all held client-side. @@ -2763,10 +2763,10 @@ index 81ee49e..d2f9cd1 100644 protected: virtual void SetVSyncImpl(bool enable) = 0; -From ff7ba06f2e37e351734b6380efb73ef44914f2f1 Mon Sep 17 00:00:00 2001 +From 49a57c3871e593ea094d3c2894b57d2d2d5d86e6 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 29 Jan 2014 13:21:19 +0000 -Subject: [PATCH 20/94] Enable hardware clipping. +Subject: [PATCH 20/95] Enable hardware clipping. --- xbmc/guilib/GUIFontTTF.cpp | 4 ++-- @@ -2838,10 +2838,10 @@ index ea08bf4..b63e337 100644 glUniformMatrix4fv(modelLoc, 1, GL_FALSE, g_matrices.GetMatrix(MM_MODELVIEW)); } -From 3dc6d8254e363ca5a7ff4e4c5a0ecbf0181b05d9 Mon Sep 17 00:00:00 2001 +From 561016657e85b290f3d9f5c072ec0e63f8912c80 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 15:32:51 +0000 -Subject: [PATCH 21/94] Move the vertex data across to a vertex buffer object +Subject: [PATCH 21/95] Move the vertex data across to a vertex buffer object just prior to drawing. --- @@ -2892,10 +2892,10 @@ index b63e337..b00055d 100644 // Disable the attributes used by this shader -From 8eafc910a153c7022cfaab1e35efbc07e9be8dcb Mon Sep 17 00:00:00 2001 +From bbf709613e184fc8d742bfcb3a9900b8ff701ac6 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 16:04:04 +0000 -Subject: [PATCH 22/94] Move vertex data into an OpenGL VBO when the font cache +Subject: [PATCH 22/95] Move vertex data into an OpenGL VBO when the font cache entry is populated. The font cache now stores the "name" (handle) of the VBO, rather than a vector @@ -3168,10 +3168,10 @@ index 735fb3a..6102c90 100644 protected: virtual CBaseTexture* ReallocTexture(unsigned int& newHeight); -From 2f01454df0cf8990a4782db057f0e4cce408dc33 Mon Sep 17 00:00:00 2001 +From d7f9cac2aad587f3fcd98bd8e134296dc099a541 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 1 Nov 2014 22:15:13 +0000 -Subject: [PATCH 23/94] Switch from glDrawArrays() to glDrawElements(). +Subject: [PATCH 23/95] Switch from glDrawArrays() to glDrawElements(). This involves setting up a static VBO containing the indexes necessary to convert from quads to triangles on the fly in the GPU. @@ -3392,10 +3392,10 @@ index d2a94c9..7b6097a 100644 if (m_display != EGL_NO_DISPLAY) -From 4b04173a679281175151ed2da0e432f3f188dc5c Mon Sep 17 00:00:00 2001 +From 89c773e8269af598329f6702e59fd6ec0544e382 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 1 May 2014 16:28:39 +0100 -Subject: [PATCH 24/94] Improved file buffering in CArchive +Subject: [PATCH 24/95] 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 @@ -3455,20 +3455,20 @@ index 6ed0f8f..8506d95 100644 } else -From 32c021b951ac83f52a60e9aa2930bcd27ac8de15 Mon Sep 17 00:00:00 2001 +From 7bf8d6278c57d9463e8796405c2d55be9b117704 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 10 Sep 2014 22:07:21 +0100 -Subject: [PATCH 25/94] [mmal] Allow mmal codec for dvd stills +Subject: [PATCH 25/95] [mmal] Allow mmal codec for dvd stills --- xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp -index 3cbb9f2..6a608cd 100644 +index 10648c5..bea5e4f 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp -@@ -193,6 +193,10 @@ CDVDVideoCodec* CDVDFactoryCodec::CreateVideoCodec(CDVDStreamInfo &hint, unsigne +@@ -194,6 +194,10 @@ CDVDVideoCodec* CDVDFactoryCodec::CreateVideoCodec(CDVDStreamInfo &hint, unsigne #endif CLog::Log(LOGDEBUG, "CDVDFactoryCodec: compiled in hardware support: %s", hwSupport.c_str()); @@ -3480,20 +3480,20 @@ index 3cbb9f2..6a608cd 100644 { // If dvd is an mpeg2 and hint.stills -From defa847036451d863a81be3335c5c04ed88d343b Mon Sep 17 00:00:00 2001 +From 2b4e9b8080b62dc6161bf0edf06219159cc6a7e5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 12 Aug 2014 00:31:36 +0100 -Subject: [PATCH 26/94] [omxcodec] Don't force software codec with dvds +Subject: [PATCH 26/95] [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 7d6e696..056eb13 100644 +index b6bcb8d..54e8548 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp -@@ -3209,7 +3209,9 @@ bool CDVDPlayer::OpenVideoStream(CDVDStreamInfo& hint, bool reset) +@@ -3216,7 +3216,9 @@ bool CDVDPlayer::OpenVideoStream(CDVDStreamInfo& hint, bool reset) hint.aspect = aspect; hint.forced_aspect = true; } @@ -3504,10 +3504,10 @@ index 7d6e696..056eb13 100644 CDVDInputStream::IMenus* pMenus = dynamic_cast(m_pInputStream); -From f85e52b866c6999ec0a541be580c679235feb60f Mon Sep 17 00:00:00 2001 +From 36b061f5bb94acb0c991c4a9c0fe75a0682b20fb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 16 Apr 2014 21:18:06 +0100 -Subject: [PATCH 27/94] [omxplayer] Don't propagate 3d flags based on supported +Subject: [PATCH 27/95] [omxplayer] Don't propagate 3d flags based on supported 3d modes --- @@ -3560,10 +3560,10 @@ index ac838ce..605318c9 100644 unsigned int iDisplayWidth = width; unsigned int iDisplayHeight = height; -From c93d2c6939a6785c7c07c55e45f676541d31f0f8 Mon Sep 17 00:00:00 2001 +From ddd800c8fadc141149a767c87e4af04aff0f3c16 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 17 Apr 2014 13:00:52 +0100 -Subject: [PATCH 28/94] [graphics] Don't set stereo mode based on resolution +Subject: [PATCH 28/95] [graphics] Don't set stereo mode based on resolution The resolution change should follow stereo mode --- @@ -3621,10 +3621,10 @@ index 3cb5587..fe6ebf4 100644 m_iScreenWidth = info_mod.iWidth; -From 4ea1e0c440b772a69efd9e143402d969800856e3 Mon Sep 17 00:00:00 2001 +From 6439cc1fdac5e4c63903933b492657525c2cb6a3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 17 Apr 2014 13:01:51 +0100 -Subject: [PATCH 29/94] [graphics] Allow switching to a more suitable 3D +Subject: [PATCH 29/95] [graphics] Allow switching to a more suitable 3D resolution --- @@ -3710,10 +3710,10 @@ index 2904c1b..8d3774f 100644 void ResetOverscan(RESOLUTION_INFO &resinfo); void ResetScreenParameters(RESOLUTION res); -From 2788746319bb06b7fc6c23085cf04d2f7e6dc2df Mon Sep 17 00:00:00 2001 +From 96f2b4b767b347ba9efa5fbbe9af14142e520b68 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 17 Apr 2014 13:38:55 +0100 -Subject: [PATCH 30/94] [3D] Support switching to 3D resolutions +Subject: [PATCH 30/95] [3D] Support switching to 3D resolutions Include matching 3D flags (SBS/TAB) in the score of a resolution to switch to, to enable switching to 3d modes. Also remove the old code that treated 3D modes differently when assigning a score. @@ -3795,10 +3795,10 @@ index 83c3adb..8076e76 100644 return current; } -From 6fd9e15754fcbb22c824a59b121c6cc93883f679 Mon Sep 17 00:00:00 2001 +From a76122f1edaafe6d23e3acaf9e341ff94aea8231 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 23 Apr 2014 00:05:07 +0100 -Subject: [PATCH 31/94] [graphics] Make pixel ratio for 3d modes consistent +Subject: [PATCH 31/95] [graphics] Make pixel ratio for 3d modes consistent Note: Use the stored stereo flags from lists of resolutions. Use current stereo mode for current resolution. @@ -4001,10 +4001,10 @@ index c58c28a..bf1e589 100644 AddUniqueResolution(res2, resolutions); -From d654aa2b435f3173c091bb2fff44651da9255f80 Mon Sep 17 00:00:00 2001 +From 1e4f9e04f77530d6e96cf788693debd724f5ecc5 Mon Sep 17 00:00:00 2001 From: da-anda Date: Sun, 17 Aug 2014 21:09:59 +0200 -Subject: [PATCH 32/94] handle stereoscopic mode of videos in mixed playlists +Subject: [PATCH 32/95] handle stereoscopic mode of videos in mixed playlists --- language/English/strings.po | 2 +- @@ -4012,7 +4012,7 @@ Subject: [PATCH 32/94] handle stereoscopic mode of videos in mixed playlists 2 files changed, 49 insertions(+), 29 deletions(-) diff --git a/language/English/strings.po b/language/English/strings.po -index ca03c3c..695fab9 100755 +index 3b51f49..1eb9205 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -15784,7 +15784,7 @@ msgstr "" @@ -4172,10 +4172,10 @@ index 35ba597..b013942 100644 case 2: // Mono SetStereoMode( RENDER_STEREO_MODE_MONO ); -From 1bb17fa5e7acf432dbd72e8687e0389e3f5990d9 Mon Sep 17 00:00:00 2001 +From e78ee3d8dd03e53393af7fa4e04924679cb33e73 Mon Sep 17 00:00:00 2001 From: da-anda Date: Sat, 16 Aug 2014 11:20:54 +0200 -Subject: [PATCH 33/94] remember user selected 3D modes between videos until +Subject: [PATCH 33/95] remember user selected 3D modes between videos until playback ended --- @@ -4392,10 +4392,10 @@ index c1dfb93..cb54bd0 100644 -From b3a8c4a0e78e79efa07eb82ea282bfd3e32db1de Mon Sep 17 00:00:00 2001 +From d2d0dbdd647d4429aee2472dac3507da86bf5bbe Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 10 Aug 2014 16:45:16 +0100 -Subject: [PATCH 34/94] filesystem: Make support of browsing into archives +Subject: [PATCH 34/95] 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. @@ -4411,7 +4411,7 @@ Add a settings option to enable this feature and default to disabled on Pi 4 files changed, 28 insertions(+) diff --git a/language/English/strings.po b/language/English/strings.po -index 695fab9..c441aae 100755 +index 1eb9205..d8ce7f7 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -16115,4 +16115,13 @@ msgstr "" @@ -4494,11 +4494,10 @@ index 2fd8777..3b294cd 100644 { // XBMC Smart playlist - just XML renamed to XSP // read the name of the playlist in - -From 7cfa65293f184ab5797d0e6087068d3452bd2f6c Mon Sep 17 00:00:00 2001 +From 66b72684b7f1eabe5f5e3e0a52fdf00be178f03a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 13:06:57 +0000 -Subject: [PATCH 36/94] [rbp] Make cachemembuffersize default depend on memory +Subject: [PATCH 36/95] [rbp] Make cachemembuffersize default depend on memory size --- @@ -4554,11 +4553,10 @@ index e6d58b3..bc8598e 100644 // the following setting determines the readRate of a player data // as multiply of the default data read rate - -From 5340ada148cb45b8e5b846568b1e5b46ff41e91c Mon Sep 17 00:00:00 2001 +From b67b4b5859782d413c9de2a9e9967c1d2a7cf7ab Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 16 Jun 2014 19:06:00 +0100 -Subject: [PATCH 38/94] [experimental] Disable quiet-noise generation +Subject: [PATCH 38/95] [experimental] Disable quiet-noise generation --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp | 2 ++ @@ -4585,10 +4583,10 @@ index b391ff3..463a89c 100644 void CActiveAESink::SetSilenceTimer() -From 40622814c08b1afb3320c22a15303ca9f9940971 Mon Sep 17 00:00:00 2001 +From 6da66ad13beb343bc62eb3fb9b5796c0d7e6f956 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 30 May 2014 14:58:43 +0100 -Subject: [PATCH 39/94] [settings] Experiment: Report DESKTOP resolution in +Subject: [PATCH 39/95] [settings] Experiment: Report DESKTOP resolution in video settings --- @@ -4610,10 +4608,10 @@ index 6902f83..50c5f97 100644 StringUtils::Format("%dx%d%s", resolution->width, resolution->height, ModeFlagsToString(resolution->flags, false).c_str()), -From af6b1f42253889a2ec4091951cee27e6ffafb617 Mon Sep 17 00:00:00 2001 +From 0b8568b0277516f3bfd2a3d7a6589cc4d5c002fb Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:24:42 +0200 -Subject: [PATCH 40/94] Added some vc_tv_* functions that were missing in +Subject: [PATCH 40/95] Added some vc_tv_* functions that were missing in DllBCM. --- @@ -4648,10 +4646,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 6765701c5da57873e8da85e5e9d54921c6be8a3a Mon Sep 17 00:00:00 2001 +From 68e90441d0ef973faa0583f1165a1167516867d4 Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:29:03 +0200 -Subject: [PATCH 41/94] Added private utility function to map a float display +Subject: [PATCH 41/95] Added private utility function to map a float display aspect, to the respective SDTV_ASPECT_* enum value. --- @@ -4689,10 +4687,10 @@ index bf1e589..518a87d 100644 bool CEGLNativeTypeRaspberryPI::ProbeResolutions(std::vector &resolutions) -From 015ec4484585ac8df8a1b685e51ad0567be64118 Mon Sep 17 00:00:00 2001 +From a43160514d52390fafed37bb90d74210ed546dd5 Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 19:50:58 +0200 -Subject: [PATCH 42/94] Changed SDTV resolutions to be treated similarly to +Subject: [PATCH 42/95] 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. @@ -4789,10 +4787,10 @@ index 59401f5..a0acb1a 100644 int m_width; int m_height; -From 6db94f0bc095142043393d0efb218241d7904ecb Mon Sep 17 00:00:00 2001 +From 41f146be012efc6f5226e29a26a7eb2616650ba0 Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 19:54:59 +0200 -Subject: [PATCH 43/94] Added methods SuspendVideoOutput() and +Subject: [PATCH 43/95] Added methods SuspendVideoOutput() and ResumeVideoOutput() to CRBP class, which can be used to power down the Raspberry PI's video interface, and restore it at a later point. @@ -4856,10 +4854,10 @@ index 9dc39d5..ca36082 100644 CEGLNativeTypeRaspberryPI::CEGLNativeTypeRaspberryPI() { -From cb4c3324f85d2140fd40fbf54195d2fe15a43dc2 Mon Sep 17 00:00:00 2001 +From 089c63ede9cf341db6d46be7f3bdea095b742a39 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 11 Aug 2013 15:03:36 +0100 -Subject: [PATCH 44/94] PowerManager (and its IPowerSyscall instance) now gets +Subject: [PATCH 44/95] PowerManager (and its IPowerSyscall instance) now gets called from CApplication::OnKey() and can process and suppress key presses. This is a requirement to implement a virtual sleep state. @@ -4871,7 +4869,7 @@ Subject: [PATCH 44/94] PowerManager (and its IPowerSyscall instance) now gets 4 files changed, 23 insertions(+) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 875ca39..217d4a9 100644 +index 9162708..b39c419 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -2360,6 +2360,13 @@ bool CApplication::OnKey(const CKey& key) @@ -4914,7 +4912,7 @@ index 7f9e7ed..711abea 100644 class CPowerSyscallWithoutEvents : public IPowerSyscall diff --git a/xbmc/powermanagement/PowerManager.cpp b/xbmc/powermanagement/PowerManager.cpp -index 27948b5..f572931 100644 +index 5900f98..6e819d9 100644 --- a/xbmc/powermanagement/PowerManager.cpp +++ b/xbmc/powermanagement/PowerManager.cpp @@ -225,6 +225,12 @@ void CPowerManager::ProcessEvents() @@ -4952,10 +4950,10 @@ index 0b1f10a..e42b143 100644 void OnSleep(); void OnWake(); -From 530c785cc49210fb2041d4b7160ea56f0a2118b6 Mon Sep 17 00:00:00 2001 +From 5b0d58710c39a6a53a57645f06961b603f235d62 Mon Sep 17 00:00:00 2001 From: macrule Date: Wed, 17 Apr 2013 13:23:01 +0200 -Subject: [PATCH 45/94] Added CPowerSyscallVirtualSleep class, which acts as a +Subject: [PATCH 45/95] Added CPowerSyscallVirtualSleep class, which acts as a base class for devices that have no native standby mode, and need to fake it in some way. @@ -5131,10 +5129,10 @@ index 0000000..ef6e682 + +#endif // _POWER_SYSCALL_VIRTUAL_SLEEP_H_ -From 22081dc4a303e572abfaa2e74c754d4a16f98620 Mon Sep 17 00:00:00 2001 +From 63f94f0b4a969849844fa530b1d6768b0d12b49d Mon Sep 17 00:00:00 2001 From: macrule Date: Wed, 17 Apr 2013 13:24:22 +0200 -Subject: [PATCH 46/94] Added power management support for the Raspberry Pi. +Subject: [PATCH 46/95] Added power management support for the Raspberry Pi. Since it doesn't support true standby, we fake it by turning video on or off, and ignoring remote inputs during the standby phase. @@ -5148,7 +5146,7 @@ Subject: [PATCH 46/94] Added power management support for the Raspberry Pi. create mode 100644 xbmc/powermanagement/linux/RaspberryPIPowerSyscall.h diff --git a/xbmc/powermanagement/PowerManager.cpp b/xbmc/powermanagement/PowerManager.cpp -index f572931..df8ba06 100644 +index 6e819d9..2d8c750 100644 --- a/xbmc/powermanagement/PowerManager.cpp +++ b/xbmc/powermanagement/PowerManager.cpp @@ -38,6 +38,8 @@ @@ -5280,10 +5278,10 @@ index 0000000..fd1d67c + +#endif // _RASPBERRY_PI_POWER_SYSCALL_H_ -From 3dc101d654b96199e2d111f917a6e85b67f2663f Mon Sep 17 00:00:00 2001 +From f4ed184f2b55c1944ae00cb1f44615caebe4e534 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Mar 2014 16:16:29 +0000 -Subject: [PATCH 47/94] [power] hack - don't kill lirc or cec +Subject: [PATCH 47/95] [power] hack - don't kill lirc or cec --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 37 +++++++++++++++++++++++ @@ -5345,7 +5343,7 @@ index e80feb1..b0058ce 100644 else if (flag == System && !strcmp(sender, "xbmc") && !strcmp(message, "OnWake")) { diff --git a/xbmc/powermanagement/PowerManager.cpp b/xbmc/powermanagement/PowerManager.cpp -index df8ba06..b99eb44 100644 +index 2d8c750..901f449 100644 --- a/xbmc/powermanagement/PowerManager.cpp +++ b/xbmc/powermanagement/PowerManager.cpp @@ -241,7 +241,7 @@ void CPowerManager::OnSleep() @@ -5367,10 +5365,10 @@ index df8ba06..b99eb44 100644 CBuiltins::Execute("LIRC.Start"); #endif -From bab21a145068810c84d2116b90586102532baef7 Mon Sep 17 00:00:00 2001 +From 766ac6c506a1636dc6265c4feaa47d07b08a8c9b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Mar 2014 16:47:54 +0000 -Subject: [PATCH 48/94] [power] hack - wake on any action +Subject: [PATCH 48/95] [power] hack - wake on any action --- xbmc/powermanagement/PowerSyscallVirtualSleep.cpp | 6 +++--- @@ -5399,10 +5397,10 @@ index 6a1e47b..a717a09 100644 if(VirtualWake()) { -From 4a8f1e3a02a7c31878c0e586db7f1a2b1e0b7736 Mon Sep 17 00:00:00 2001 +From ae7da7ac1e66c3b20f0ff3c631040d81e207b385 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Mar 2014 17:30:07 +0000 -Subject: [PATCH 49/94] [power] hack - Make suspend toggle suspend state +Subject: [PATCH 49/95] [power] hack - Make suspend toggle suspend state --- xbmc/powermanagement/PowerSyscallVirtualSleep.cpp | 5 +++++ @@ -5425,10 +5423,10 @@ index a717a09..d39c3ed 100644 return false; } -From ca3b7a3924759de3c619084976008a4a9a3bfb50 Mon Sep 17 00:00:00 2001 +From 1d9f8ecb8f52ff1370016f869e6c8144eddb2adb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 4 Mar 2014 19:33:44 +0000 -Subject: [PATCH 50/94] [power] Add back in powerdown and reboot +Subject: [PATCH 50/95] [power] Add back in powerdown and reboot --- .../linux/RaspberryPIPowerSyscall.cpp | 34 ++++++++++++++++++++++ @@ -5506,10 +5504,10 @@ index fd1d67c..062132e 100644 virtual bool CanReboot() { return true; } -From e08d4c1e37b11ac46cc58810b1295049e5b66bdc Mon Sep 17 00:00:00 2001 +From c3eb8e92222e2f1d7fdb54dae559585f59fe555d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 26 Apr 2014 17:27:52 +0100 -Subject: [PATCH 51/94] [cec] Don't suspend pi on tv switch off - it can't wake +Subject: [PATCH 51/95] [cec] Don't suspend pi on tv switch off - it can't wake up --- @@ -5530,10 +5528,10 @@ index a67dc2f..680863e 100644 -From 4c2a313bb7077965dd2b34d9152d0737a67ac1f8 Mon Sep 17 00:00:00 2001 +From c21c0a2731f0d6fde8fc61142b4f913d3389350b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 27 Jun 2014 00:01:05 +0100 -Subject: [PATCH 52/94] [rbp] Resume video output on startup +Subject: [PATCH 52/95] [rbp] Resume video output on startup --- xbmc/linux/RBP.cpp | 3 +++ @@ -5554,10 +5552,10 @@ index cb87b77..34866f6 100644 m_omx_image_init = true; return true; -From c8e7d0ce2515559d8532576f1b6e6e767b9641da Mon Sep 17 00:00:00 2001 +From 22b642e55cdfdaf77e727e2991835dc79212b0d0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 16 Aug 2014 21:01:42 +0100 -Subject: [PATCH 53/94] omxrender: Hacks to reduce GUI rendering rate when +Subject: [PATCH 53/95] omxrender: Hacks to reduce GUI rendering rate when playing video --- @@ -5567,7 +5565,7 @@ Subject: [PATCH 53/94] omxrender: Hacks to reduce GUI rendering rate when 3 files changed, 60 insertions(+) diff --git a/language/English/strings.po b/language/English/strings.po -index c441aae..68dba96 100755 +index d8ce7f7..5f09e86 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -16125,3 +16125,30 @@ msgstr "" @@ -5629,7 +5627,7 @@ index f3c8a01..2996c29 100644 diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 217d4a9..e34add2 100644 +index b39c419..33dc9a5 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -2207,6 +2207,23 @@ void CApplication::Render() @@ -5657,10 +5655,10 @@ index 217d4a9..e34add2 100644 int vsync_mode = CSettings::Get().GetInt("videoscreen.vsync"); -From 7ed1b825649a974db0f68dc73edd7141f2e8cc40 Mon Sep 17 00:00:00 2001 +From 08e4c76f0a4893f56a844d83fb428fb73af59af3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Sep 2014 12:04:26 +0100 -Subject: [PATCH 54/94] egl: Treat unknown display aspect ratio as square pixel +Subject: [PATCH 54/95] egl: Treat unknown display aspect ratio as square pixel --- xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 4 ++-- @@ -5689,10 +5687,10 @@ index ca36082..1529045 100644 SetResolutionString(m_desktopRes); -From 9dd5231021e4aed2d1e901e25a5e2b10c13a80b0 Mon Sep 17 00:00:00 2001 +From e0073b33259cb3304ae2da0d081e7c156fc8d897 Mon Sep 17 00:00:00 2001 From: anaconda Date: Thu, 11 Sep 2014 21:30:43 +0200 -Subject: [PATCH 55/94] Disable textbox autoscrolling while on screensaver. +Subject: [PATCH 55/95] Disable textbox autoscrolling while on screensaver. SQUASH: only if dim or black --- @@ -5702,10 +5700,10 @@ SQUASH: only if dim or black 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index e34add2..4d68726 100644 +index 33dc9a5..4984718 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -5879,3 +5879,10 @@ void CApplication::CloseNetworkShares() +@@ -5880,3 +5880,10 @@ void CApplication::CloseNetworkShares() CSFTPSessionManager::DisconnectAllSessions(); #endif } @@ -5753,10 +5751,10 @@ index b7ef051..e149418 100644 if (m_lastRenderTime) m_autoScrollDelayTime += currentTime - m_lastRenderTime; -From 7ca9a217200e9a646c178c95ec9cd410916865ca Mon Sep 17 00:00:00 2001 +From 98a77af308a8ea585513e0e16bce4701622660bd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 18 Sep 2014 14:24:56 +0100 -Subject: [PATCH 56/94] [omxplayer] Only enable audio clock master when A/V +Subject: [PATCH 56/95] [omxplayer] Only enable audio clock master when A/V sync method is set to audio clock --- @@ -5787,10 +5785,10 @@ index 5475570..7c07b57 100644 OMX_CONFIG_BOOLEANTYPE configBool; OMX_INIT_STRUCTURE(configBool); -From 8087fa77cf74293f09d77a91515f700cf8dc1b49 Mon Sep 17 00:00:00 2001 +From b745b4f1b843957be0a0c3806cc4188e872725cb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 19 Sep 2014 11:54:49 +0100 -Subject: [PATCH 57/94] [dvdplayer/rbp] Add pi specific option to maintain +Subject: [PATCH 57/95] [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". @@ -5809,7 +5807,7 @@ Needed updated firmware 7 files changed, 76 insertions(+), 3 deletions(-) diff --git a/language/English/strings.po b/language/English/strings.po -index 68dba96..b2edda4 100755 +index 5f09e86..77ad249 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -16152,3 +16152,8 @@ msgstr "" @@ -5988,10 +5986,10 @@ index f947acc..606c24f 100644 void SuspendVideoOutput(); void ResumeVideoOutput(); -From a47ab25501433491cfc105e09d68c9b674d6e121 Mon Sep 17 00:00:00 2001 +From aa32c326459a47802c5788cf057911a23a3be48c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 27 Sep 2014 15:32:37 +0100 -Subject: [PATCH 58/94] [dvdplayer] exerimental: don't raise priority of audio +Subject: [PATCH 58/95] [dvdplayer] exerimental: don't raise priority of audio thread --- @@ -5999,10 +5997,10 @@ Subject: [PATCH 58/94] [dvdplayer] exerimental: don't raise priority of audio 1 file changed, 4 insertions(+) diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index 056eb13..7a4211c 100644 +index 54e8548..8ed49c7 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp -@@ -3194,7 +3194,11 @@ bool CDVDPlayer::OpenAudioStream(CDVDStreamInfo& hint, bool reset) +@@ -3201,7 +3201,11 @@ bool CDVDPlayer::OpenAudioStream(CDVDStreamInfo& hint, bool reset) m_dvdPlayerAudio->SendMessage(new CDVDMsg(CDVDMsg::PLAYER_STARTED), 1); /* audio normally won't consume full cpu, so let it have prio */ @@ -6015,18 +6013,18 @@ index 056eb13..7a4211c 100644 } -From 645cd78fbe4a6c4a883d53505b142e8c3686e604 Mon Sep 17 00:00:00 2001 +From fa1b9f67ce0c75de4641a1baa7a3d127ec769906 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 28 Sep 2014 19:28:17 +0100 -Subject: [PATCH 59/94] [mmalcodec] Introduce a preroll period to buffer up +Subject: [PATCH 59/95] [mmalcodec] Introduce a preroll period to buffer up frames on startup --- .../DVDCodecs/Video/DVDVideoCodecMMAL.cpp | 5 ++++ .../dvdplayer/DVDCodecs/Video/DVDVideoCodecMMAL.h | 1 + - xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 31 +++++++++++++++++----- + xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 30 +++++++++++++++++----- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.h | 3 +++ - 4 files changed, 34 insertions(+), 6 deletions(-) + 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecMMAL.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecMMAL.cpp index 55b9969..262283d 100644 @@ -6055,7 +6053,7 @@ index 67aa505..a768e70 100644 protected: MMALVideoPtr m_decoder; diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp -index 098910e..5d65f4e 100644 +index 098910e..6742e0e 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp @@ -128,6 +128,8 @@ CMMALVideo::CMMALVideo() @@ -6112,7 +6110,7 @@ index 098910e..5d65f4e 100644 Sleep(10); // otherwise we busy spin } return ret; -@@ -963,8 +973,17 @@ void CMMALVideo::Reset(void) +@@ -963,8 +973,16 @@ void CMMALVideo::Reset(void) m_decoderPts = DVD_NOPTS_VALUE; m_droppedPics = 0; m_decode_frame_number = 1; @@ -6121,9 +6119,8 @@ index 098910e..5d65f4e 100644 +void CMMALVideo::SetSpeed(int iSpeed) +{ -+#if defined(MMAL_DEBUG_VERBOSE) -+ CLog::Log(LOGDEBUG, "%s::%s %d->%d", CLASSNAME, __func__, m_speed, iSpeed); -+#endif ++ if (g_advancedSettings.CanLogComponent(LOGVIDEO)) ++ CLog::Log(LOGDEBUG, "%s::%s %d->%d", CLASSNAME, __func__, m_speed, iSpeed); + + m_speed = iSpeed; +} @@ -6152,10 +6149,10 @@ index b4aa571..4f81bbd 100644 MMAL_COMPONENT_T *m_dec; MMAL_PORT_T *m_dec_input; -From 199e9cf2a6d2574ea397ecf8bd04f97f2aeb56ab Mon Sep 17 00:00:00 2001 +From 63a48acfb32f6ec8a964d2cc95703737ac280c3c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 11 Apr 2014 16:12:27 +0100 -Subject: [PATCH 60/94] [omxplayer] Add ability to log more timestamp info in +Subject: [PATCH 60/95] [omxplayer] Add ability to log more timestamp info in extra debug settings --- @@ -6168,7 +6165,7 @@ Subject: [PATCH 60/94] [omxplayer] Add ability to log more timestamp info in 6 files changed, 25 insertions(+), 13 deletions(-) diff --git a/language/English/strings.po b/language/English/strings.po -index b2edda4..9bd7c06 100755 +index 77ad249..a4f02e5 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -2892,6 +2892,11 @@ msgctxt "#680" @@ -6306,10 +6303,10 @@ index bc8598e..bd90dfe 100644 void CAdvancedSettings::setExtraLogLevel(const std::vector &components) -From a42f9c3b18e92935966bf54b31e7b80668687f5a Mon Sep 17 00:00:00 2001 +From b94f1de5ca54f5e04bcf411118ad0019e800ebee Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 23:13:55 +0100 -Subject: [PATCH 61/94] [omxplayer] Add ability to dump out audio/video data +Subject: [PATCH 61/95] [omxplayer] Add ability to dump out audio/video data for later debugging --- @@ -6321,7 +6318,7 @@ Subject: [PATCH 61/94] [omxplayer] Add ability to dump out audio/video data 5 files changed, 112 insertions(+) diff --git a/language/English/strings.po b/language/English/strings.po -index 9bd7c06..510fc26 100755 +index a4f02e5..86c0957 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -2897,6 +2897,16 @@ msgctxt "#697" @@ -6551,10 +6548,10 @@ index bd90dfe..23e1df8 100644 void CAdvancedSettings::setExtraLogLevel(const std::vector &components) -From 2c86221303979c602ed6a0b47c6b202fa8d63179 Mon Sep 17 00:00:00 2001 +From 2f8d86a237eb3b293d2ddde98e10db6401ef2981 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 24 Sep 2014 23:13:52 +0100 -Subject: [PATCH 62/94] [audio] Add settings option to boost centre channel +Subject: [PATCH 62/95] [audio] Add settings option to boost centre channel when downmixing This allows a dB volume increase to be added to centre channel. @@ -6572,7 +6569,7 @@ Should work with Pi Sink (dvdplayer/paplayer) and omxplayer 5 files changed, 45 insertions(+) diff --git a/language/English/strings.po b/language/English/strings.po -index 510fc26..8929aaf 100755 +index 86c0957..6c9af9d 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -16172,3 +16172,17 @@ msgstr "" @@ -6676,10 +6673,10 @@ index db03668..6be2b76 100644 // stereo upmix if (upmix && m_src_channels == 2 && m_dst_channels > 2) -From a39fedd0438201d0377620bc2f234ecc860aa5fa Mon Sep 17 00:00:00 2001 +From d9425a9f9292fe2522df60096771e058abe86649 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 3 Oct 2014 18:38:07 +0100 -Subject: [PATCH 63/94] [omxcore] Skip out of flush on error +Subject: [PATCH 63/95] [omxcore] Skip out of flush on error --- xbmc/linux/OMXCore.cpp | 4 ++-- @@ -6708,10 +6705,10 @@ index 4ae29ba..4caa304 100644 OMX_ERRORTYPE omx_err = OMX_ErrorNone; -From d00bb171659b249911e681d087e45d40683317b7 Mon Sep 17 00:00:00 2001 +From 3eebf317d49caadf15049ff2c65574b32ae5eead Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 3 Oct 2014 18:40:06 +0100 -Subject: [PATCH 64/94] [SinkPi] Handle multichannel layout more like OMXAudio +Subject: [PATCH 64/95] [SinkPi] Handle multichannel layout more like OMXAudio --- xbmc/cores/AudioEngine/Sinks/AESinkPi.cpp | 14 +++++++------- @@ -6770,10 +6767,10 @@ index 89684e4..fd9a03d 100644 m_format = format; m_sinkbuffer_sec_per_byte = 1.0 / (double)(m_format.m_frameSize * m_format.m_sampleRate); -From 70cce8a17841968cce93e40e06cf36606e3ed692 Mon Sep 17 00:00:00 2001 +From d240471c59f05186691621424ceb3e6fa15e322b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 5 Oct 2014 14:05:25 +0100 -Subject: [PATCH 65/94] [PiSink] Allow audio output latency to be set in +Subject: [PATCH 65/95] [PiSink] Allow audio output latency to be set in settings --- @@ -6784,7 +6781,7 @@ Subject: [PATCH 65/94] [PiSink] Allow audio output latency to be set in 4 files changed, 36 insertions(+), 5 deletions(-) diff --git a/language/English/strings.po b/language/English/strings.po -index 8929aaf..307d01f 100755 +index 6c9af9d..2ef84d7 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -16186,3 +16186,18 @@ msgstr "" @@ -6901,10 +6898,10 @@ index 5c57999..cac5051 100644 bool m_Initialized; uint32_t m_submitted; -From 423a526dfa883e30ba85364c17318654b0463a21 Mon Sep 17 00:00:00 2001 +From f371f28b5cf94aee7ce175743aaafcb740fe91df Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 18 Aug 2014 19:09:32 +0100 -Subject: [PATCH 66/94] rbp: Use new dispmanx function for vsync callbacks +Subject: [PATCH 66/95] rbp: Use new dispmanx function for vsync callbacks --- xbmc/linux/RBP.cpp | 85 ++++++++++++++----------- @@ -7116,10 +7113,10 @@ index 1529045..b6bf1fc 100644 } DLOG("CEGLNativeTypeRaspberryPI::DestroyDispmaxWindow\n"); -From 6e9d00f101d39d7d993b0e5212b8329cf0a78238 Mon Sep 17 00:00:00 2001 +From 53dbd9f946f38a66265717ffedc35570cfa73faf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 19 Aug 2014 17:56:45 +0100 -Subject: [PATCH 67/94] Revert "rbp: Use new dispmanx function for vsync +Subject: [PATCH 67/95] Revert "rbp: Use new dispmanx function for vsync callbacks" This reverts commit afbf8fbceaa6649fb4a6bbd9a1cee6087590412b. @@ -7333,10 +7330,10 @@ index b6bf1fc..1529045 100644 } DLOG("CEGLNativeTypeRaspberryPI::DestroyDispmaxWindow\n"); -From ad36a7a29f11c07b51e5129c46a14700876df00b Mon Sep 17 00:00:00 2001 +From 69a799899cba30325504daf18da175dbed49e48a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 15:23:51 +0000 -Subject: [PATCH 68/94] [rbp] Default extract thumbnails to false +Subject: [PATCH 68/95] [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 @@ -7366,10 +7363,10 @@ index b8e6e59..40be71e 100644
-From 0cde928a4d1ac1bf77a104b115deef121c45aeb7 Mon Sep 17 00:00:00 2001 +From 46c0be1300c04391383e18d7d75d6712bd6ed3d4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Nov 2014 17:16:54 +0000 -Subject: [PATCH 70/94] Revert "[omxplayer] Add ability to dump out audio/video +Subject: [PATCH 70/95] Revert "[omxplayer] Add ability to dump out audio/video data for later debugging" This reverts commit 417416bd29d00f1b42c77488d06e9e6840b8c4f4. @@ -7382,7 +7379,7 @@ This reverts commit 417416bd29d00f1b42c77488d06e9e6840b8c4f4. 5 files changed, 112 deletions(-) diff --git a/language/English/strings.po b/language/English/strings.po -index 1cacffe..e77eba6 100755 +index 022fc14..c3d8d64 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -2897,16 +2897,6 @@ msgctxt "#697" @@ -7612,10 +7609,10 @@ index 23e1df8..bd90dfe 100644 void CAdvancedSettings::setExtraLogLevel(const std::vector &components) -From c0ad4f8f02cae821b707dd745f82f46de2501eea Mon Sep 17 00:00:00 2001 +From e855fdc74db315478758c8bf42a2652215b848c3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 23:13:55 +0100 -Subject: [PATCH 71/94] [omxplayer] Add ability to dump out audio/video data +Subject: [PATCH 71/95] [omxplayer] Add ability to dump out audio/video data for later debugging --- @@ -7626,7 +7623,7 @@ Subject: [PATCH 71/94] [omxplayer] Add ability to dump out audio/video data 4 files changed, 79 insertions(+) diff --git a/language/English/strings.po b/language/English/strings.po -index e77eba6..1cacffe 100755 +index c3d8d64..022fc14 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -2897,6 +2897,16 @@ msgctxt "#697" @@ -7660,7 +7657,7 @@ index a3b6ba6..f01c83b 100644 #include "utils/params_check_macros.h" diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index 7a4211c..dfc6dd2 100644 +index 8ed49c7..171e3d2 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -95,6 +95,61 @@ @@ -7738,7 +7735,7 @@ index 7a4211c..dfc6dd2 100644 UpdateCorrection(packet, m_offset_pts); if(packet->iStreamId < 0) -@@ -3312,6 +3373,8 @@ bool CDVDPlayer::CloseStream(CCurrentStream& current, bool bWaitForBuffers) +@@ -3319,6 +3380,8 @@ bool CDVDPlayer::CloseStream(CCurrentStream& current, bool bWaitForBuffers) if(bWaitForBuffers) SetCaching(CACHESTATE_DONE); @@ -7763,10 +7760,10 @@ index bd90dfe..23e1df8 100644 void CAdvancedSettings::setExtraLogLevel(const std::vector &components) -From f17b26dd827971273d86ea690d90666fab8db7a4 Mon Sep 17 00:00:00 2001 +From a2655a880b12c5b67ec22041dfcf877a1d89f914 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Nov 2014 18:14:23 +0000 -Subject: [PATCH 74/94] [resamplepi] Try to report the same numbers as ffmpeg +Subject: [PATCH 74/95] [resamplepi] Try to report the same numbers as ffmpeg --- .../cores/AudioEngine/Engines/ActiveAE/ActiveAEResamplePi.cpp | 11 ++++++----- @@ -7817,10 +7814,10 @@ index 84505bf..2b5bef2 100644 CLog::Log(LOGINFO, "%s::%s = %d", CLASSNAME, __func__, ret); #endif -From ca818a1f447666e021fbce2ae75591ce5795989c Mon Sep 17 00:00:00 2001 +From 7d92f48231fbc4c741b1ffe5f329f8c67914d9a7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Nov 2014 20:49:30 +0000 -Subject: [PATCH 75/94] [dvdplayer] New scheme for PLL adjustment for video +Subject: [PATCH 75/95] [dvdplayer] New scheme for PLL adjustment for video clock --- @@ -7935,36 +7932,10 @@ index 02c64a0..37bf4bd 100644 struct SInfo { -From dd7d149e393fee21a2ad7e1b0285fcf72c127613 Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Wed, 12 Nov 2014 16:52:15 +0000 -Subject: [PATCH 76/94] MMAL: Use Component Logging - ---- - xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp -index 5d65f4e..6742e0e 100644 ---- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp -+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp -@@ -978,9 +978,8 @@ void CMMALVideo::Reset(void) - - void CMMALVideo::SetSpeed(int iSpeed) - { --#if defined(MMAL_DEBUG_VERBOSE) -- CLog::Log(LOGDEBUG, "%s::%s %d->%d", CLASSNAME, __func__, m_speed, iSpeed); --#endif -+ if (g_advancedSettings.CanLogComponent(LOGVIDEO)) -+ CLog::Log(LOGDEBUG, "%s::%s %d->%d", CLASSNAME, __func__, m_speed, iSpeed); - - m_speed = iSpeed; - } - -From 7bd93d46ea217ad4b0a9a7049ada0773ac05eef4 Mon Sep 17 00:00:00 2001 +From 2c88cf7b74a5f16a3451fa9bcc7e8349b5809117 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 15 Nov 2014 12:03:34 +0000 -Subject: [PATCH 77/94] [dvdplayer] Add lock for player creation +Subject: [PATCH 76/95] [dvdplayer] Add lock for player creation --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 3 +++ @@ -7972,7 +7943,7 @@ Subject: [PATCH 77/94] [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 dfc6dd2..a3afed3 100644 +index 171e3d2..cc54480 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -549,6 +549,7 @@ void CSelectionStreams::Update(CDVDInputStream* input, CDVDDemux* demuxer, std:: @@ -7991,7 +7962,7 @@ index dfc6dd2..a3afed3 100644 if (!m_players_created) return; delete m_dvdPlayerVideo; -@@ -4062,6 +4064,7 @@ double CDVDPlayer::GetQueueTime() +@@ -4069,6 +4071,7 @@ double CDVDPlayer::GetQueueTime() void CDVDPlayer::GetVideoStreamInfo(SPlayerVideoStreamInfo &info) { @@ -8010,32 +7981,10 @@ index ef64076..7ea6ea6 100644 + CCriticalSection m_players_lock; }; -From 88e6ab2efd1fd50ae2fd1e989e625655c8ebc3ee Mon Sep 17 00:00:00 2001 -From: arnova -Date: Wed, 12 Nov 2014 18:30:54 +0100 -Subject: [PATCH 78/94] changed: Have CurlFile return m_bufferSize as chunksize - ---- - xbmc/filesystem/CurlFile.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/xbmc/filesystem/CurlFile.h b/xbmc/filesystem/CurlFile.h -index 1cc7bc3..2e32367 100644 ---- a/xbmc/filesystem/CurlFile.h -+++ b/xbmc/filesystem/CurlFile.h -@@ -63,6 +63,7 @@ namespace XFILE - virtual std::string GetContent() { return GetMimeType(); } - virtual int IoControl(EIoControl request, void* param); - virtual std::string GetContentCharset(void) { return GetServerReportedCharset(); } -+ virtual int GetChunkSize(void) { return m_bufferSize; } - - bool Post(const std::string& strURL, const std::string& strPostData, std::string& strHTML); - bool Get(const std::string& strURL, std::string& strHTML); - -From 586efdad49cbb4d03b735c3a3c112eab8ff6e400 Mon Sep 17 00:00:00 2001 +From c8b1d486cfa7613dca166949c35f071adc89fe5a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 19 Nov 2014 13:29:43 +0000 -Subject: [PATCH 79/94] [dvdplayeraudio] Add advancedsetting for configuring +Subject: [PATCH 77/95] [dvdplayeraudio] Add advancedsetting for configuring max pll adjustment --- @@ -8104,10 +8053,10 @@ index fb5a837..0b2666f 100644 float m_audioPlayCountMinimumPercent; bool m_dvdplayerIgnoreDTSinWAV; -From 15488ffd61c44e7cff0ac6e191ed210a9245578f Mon Sep 17 00:00:00 2001 +From 9581b206f8a06621a965f6c899a691edae294ee6 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Wed, 19 Nov 2014 14:22:01 +0100 -Subject: [PATCH 80/94] dvdplayer: fix audio error at beginning of playback +Subject: [PATCH 78/95] dvdplayer: fix audio error at beginning of playback --- xbmc/cores/dvdplayer/DVDAudio.cpp | 90 ++++++--------------------------- @@ -8322,10 +8271,10 @@ index 37bf4bd..f9f19bc 100644 double GetCurrentPts() { CSingleLock lock(m_info_section); return m_info.pts; } -From a5ac7a3a9b303abeb72704cb2ba67ec5e9db554a Mon Sep 17 00:00:00 2001 +From a78fb25af9532625f2beedd947b2a5e106a8898e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 19 Nov 2014 17:35:44 +0000 -Subject: [PATCH 81/94] [mmalrender] Skip some log message in bypass mode +Subject: [PATCH 79/95] [mmalrender] Skip some log message in bypass mode --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 9 ++++++--- @@ -8363,10 +8312,10 @@ index 03a05de..c0ff30d 100644 // we only want to upload frames once if (buffer->flipindex++) -From 423f39853fef55c1364751b1d76811b0ce8f5d54 Mon Sep 17 00:00:00 2001 +From 168bde3461bb125e78e458787bf86200252b58b6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 19 Nov 2014 20:57:10 +0000 -Subject: [PATCH 83/94] [dvdplayeraudio] Remove logging message +Subject: [PATCH 80/95] [dvdplayeraudio] Remove logging message --- xbmc/cores/dvdplayer/DVDPlayerAudio.cpp | 2 +- @@ -8386,10 +8335,10 @@ index 36f70e8..fcd2e88 100644 if( (fabs(error) > DVD_MSEC_TO_TIME(100) || m_syncclock) && (master == MASTER_CLOCK_AUDIO -From 9de7dc7d8220858c8f43f5541ef656c0beaef87b Mon Sep 17 00:00:00 2001 +From 2696d06068fed149a9c115130b7e063b6992e318 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Mon, 30 Jun 2014 00:19:21 +0200 -Subject: [PATCH 84/94] gl: avoid grabbing viewport on each render +Subject: [PATCH 81/95] gl: avoid grabbing viewport on each render Same as 518556b45b61de06a0bc810147cd1a6347497461 but for GL --- @@ -8472,10 +8421,10 @@ index 58840c4..c01f129 100644 void CRenderSystemGL::SetScissors(const CRect &rect) -From d426f6222b30ab10c734833f1906f0839fd049ca Mon Sep 17 00:00:00 2001 +From e7fa7da305fb00c089126afb4d4ff22c47234342 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Fri, 21 Nov 2014 00:15:49 +0100 -Subject: [PATCH 85/94] GL: switch to CPU based matrix caculations to match +Subject: [PATCH 82/95] GL: switch to CPU based matrix caculations to match GLES This drops use of glGet which causes a performance hit on some systems since @@ -8489,7 +8438,7 @@ it forces a glFinish() 5 files changed, 103 insertions(+), 66 deletions(-) diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp -index 468c51b..43c40c1 100644 +index ae7f649..b34e8eb 100644 --- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp +++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp @@ -39,6 +39,7 @@ @@ -8855,10 +8804,10 @@ index 28d4b78..624ddef 100644 }; -From f91c0ab6aa8e1c8ac909ee4f4fd479445fea40f9 Mon Sep 17 00:00:00 2001 +From d99b67182e53e84a36b9c34ac89c6b4b1cf6c479 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Fri, 21 Nov 2014 01:47:07 +0100 -Subject: [PATCH 86/94] GL(ES): Simplify matrix stack handling +Subject: [PATCH 83/95] GL(ES): Simplify matrix stack handling --- xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 47 ++++------ @@ -8873,7 +8822,7 @@ Subject: [PATCH 86/94] GL(ES): Simplify matrix stack handling 9 files changed, 192 insertions(+), 303 deletions(-) diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp -index 43c40c1..2a69c7f 100644 +index b34e8eb..c68c3e6 100644 --- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp +++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp @@ -1384,23 +1384,19 @@ void CLinuxRendererGL::RenderToFBO(int index, int field, bool weave /*= false*/) @@ -9790,10 +9739,10 @@ index d2f9cd1..de5ab64 100644 }; -From ff8c7febd104f0f3fd43c9d78d49572338f53274 Mon Sep 17 00:00:00 2001 +From 1188cd52006540a993317e3bdb6ac376fe02ed3e Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Fri, 21 Nov 2014 17:10:00 +0100 -Subject: [PATCH 87/94] fixup! GL(ES): Simplify matrix stack handling +Subject: [PATCH 84/95] fixup! GL(ES): Simplify matrix stack handling --- xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp | 4 ++-- @@ -9817,10 +9766,10 @@ index d1b46a3..0bec937 100644 CRect viewport(0, 0, m_sourceWidth, m_sourceHeight); -From d66cf9ebec8bc57ba579f324da41575ae56a7329 Mon Sep 17 00:00:00 2001 +From 4431908db68ea4f9b3a88120df55677b2ffd6285 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 21 Nov 2014 19:17:25 +0000 -Subject: [PATCH 88/94] squash: Fixup build after glGet +Subject: [PATCH 85/95] squash: Fixup build after glGet --- xbmc/guilib/GUIFontTTFGL.cpp | 11 +++++------ @@ -9860,10 +9809,10 @@ index 812662c..39c6936 100644 glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); -From c860d4b60414c2875ec963dbce2a4e5160117a06 Mon Sep 17 00:00:00 2001 +From 01e4af29076a10199c33dc621ce14f44fc4821ea Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 24 Nov 2014 16:06:54 +0000 -Subject: [PATCH 89/94] [MMALCoded] Call port settings changed from callback to +Subject: [PATCH 86/95] [MMALCoded] Call port settings changed from callback to avoid thread unsafe code --- @@ -9977,10 +9926,10 @@ index 4f81bbd..2eaea95 100644 protected: void QueryCodec(void); -From 7ffc7e16d2e98bc06eb6f29b71dcffaec42ed3e6 Mon Sep 17 00:00:00 2001 +From ca03d92b00991335b1f9c8d1a5d9b6eadbb371a8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 24 Nov 2014 21:24:25 +0000 -Subject: [PATCH 90/94] [mmalcodec] Avoid double framerate deinterlace for dvd +Subject: [PATCH 87/95] [mmalcodec] Avoid double framerate deinterlace for dvd menus for now --- @@ -10001,10 +9950,10 @@ index ac7a263..1894782 100644 if (status != MMAL_SUCCESS) { -From 7855346855b9c4d81a4682d69562a37491314ac2 Mon Sep 17 00:00:00 2001 +From a906703777dc206e2688af1ad6865096d5a068eb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 24 Nov 2014 22:07:25 +0000 -Subject: [PATCH 91/94] [dvdplayervideo] Prod decoder when in stills mode +Subject: [PATCH 88/95] [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. @@ -10081,10 +10030,10 @@ index f030e37..7a8fc10 100644 if (pMsg->IsType(CDVDMsg::GENERAL_SYNCHRONIZE)) -From 69f17df3156d7057c56fb2cc26c817ce5dbdf79b Mon Sep 17 00:00:00 2001 +From fba2c1ad6bd4243245fa715622832912bc9c3b88 Mon Sep 17 00:00:00 2001 From: Arne Morten Kvarving Date: Tue, 25 Nov 2014 17:03:36 +0100 -Subject: [PATCH 94/94] fixed: it's stereo samples.. +Subject: [PATCH 89/95] fixed: it's stereo samples.. --- xbmc/addons/Visualisation.cpp | 4 ++-- @@ -10112,3 +10061,364 @@ index 810e5b2..7f17849 100644 // FFT the data twochanwithwindow(m_fFreq, AUDIO_BUFFER_SIZE); + +From d4702ba72c712d48342d83ea4d4308b99b96dd85 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 27 Nov 2014 14:46:22 +0000 +Subject: [PATCH 90/95] [mmalcodec] squash: Avoid deinterlace for dvd menus for + now + +--- + xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +index 1894782..abd3f63 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +@@ -361,7 +361,7 @@ bool CMMALVideo::CreateDeinterlace(EINTERLACEMETHOD interlace_method) + MMAL_PARAMETER_IMAGEFX_PARAMETERS_T imfx_param = {{MMAL_PARAMETER_IMAGE_EFFECT_PARAMETERS, sizeof(imfx_param)}, + interlace_method == VS_INTERLACEMETHOD_MMAL_ADVANCED || interlace_method == VS_INTERLACEMETHOD_MMAL_ADVANCED_HALF ? + MMAL_PARAM_IMAGEFX_DEINTERLACE_ADV : MMAL_PARAM_IMAGEFX_DEINTERLACE_FAST, +- 3, {3, 0, m_hints.stills || interlace_method == VS_INTERLACEMETHOD_MMAL_ADVANCED_HALF || interlace_method == VS_INTERLACEMETHOD_MMAL_BOB_HALF }}; ++ 3, {3, 0, interlace_method == VS_INTERLACEMETHOD_MMAL_ADVANCED_HALF || interlace_method == VS_INTERLACEMETHOD_MMAL_BOB_HALF }}; + status = mmal_port_parameter_set(m_deint->output[0], &imfx_param.hdr); + if (status != MMAL_SUCCESS) + { +@@ -869,7 +869,7 @@ int CMMALVideo::Decode(uint8_t* pData, int iSize, double dts, double pts) + + bool deinterlace = m_interlace_mode != MMAL_InterlaceProgressive; + +- if (deinterlace_request == VS_DEINTERLACEMODE_OFF) ++ if (m_hints.stills || deinterlace_request == VS_DEINTERLACEMODE_OFF) + deinterlace = false; + else if (deinterlace_request == VS_DEINTERLACEMODE_FORCE) + deinterlace = true; + +From f266a4429c5eef88a8abc8db361874d523ed86da Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 27 Nov 2014 16:20:56 +0000 +Subject: [PATCH 91/95] [mmalcodec] Skip some setup that is not required when + closing + +--- + xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 27 ++++++++++++---------- + 1 file changed, 15 insertions(+), 12 deletions(-) + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +index abd3f63..e491b8f 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +@@ -705,11 +705,11 @@ void CMMALVideo::Dispose() + { + // we are happy to exit, but let last shared pointer being deleted trigger the destructor + bool done = false; ++ m_finished = true; + Reset(); + pthread_mutex_lock(&m_output_mutex); + if (!m_output_busy) + done = true; +- m_finished = true; + pthread_mutex_unlock(&m_output_mutex); + if (g_advancedSettings.CanLogComponent(LOGVIDEO)) + CLog::Log(LOGDEBUG, "%s::%s dts_queue(%d) ready_queue(%d) busy_queue(%d) done:%d", CLASSNAME, __func__, m_dts_queue.size(), m_output_ready.size(), m_output_busy, done); +@@ -927,19 +927,21 @@ void CMMALVideo::Reset(void) + if (g_advancedSettings.CanLogComponent(LOGVIDEO)) + CLog::Log(LOGDEBUG, "%s::%s", CLASSNAME, __func__); + +- if (m_dec_input) ++ if (m_dec_input && m_dec_input->is_enabled) + mmal_port_disable(m_dec_input); +- if (m_deint_connection) ++ if (m_deint_connection && m_deint_connection->is_enabled) + mmal_connection_disable(m_deint_connection); +- if (m_dec_output) ++ if (m_dec_output && m_dec_output->is_enabled) + mmal_port_disable(m_dec_output); +- if (m_dec_input) +- mmal_port_enable(m_dec_input, dec_input_port_cb); +- if (m_deint_connection) +- mmal_connection_enable(m_deint_connection); +- if (m_dec_output) +- mmal_port_enable(m_dec_output, dec_output_port_cb_static); +- ++ if (!m_finished) ++ { ++ if (m_dec_input) ++ mmal_port_enable(m_dec_input, dec_input_port_cb); ++ if (m_deint_connection) ++ mmal_connection_enable(m_deint_connection); ++ if (m_dec_output) ++ mmal_port_enable(m_dec_output, dec_output_port_cb_static); ++ } + // blow all ready video frames + bool old_drop_state = m_drop_state; + SetDropState(true); +@@ -953,7 +955,8 @@ void CMMALVideo::Reset(void) + if (!old_drop_state) + SetDropState(false); + +- SendCodecConfigData(); ++ if (!m_finished) ++ SendCodecConfigData(); + + m_startframe = false; + m_decoderPts = DVD_NOPTS_VALUE; + +From e6c815d6c039e0c2cfb36309ce7f3eb7a69147c9 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 27 Nov 2014 16:31:56 +0000 +Subject: [PATCH 92/95] [languageinvoker] Reduce priority of python threads + +--- + xbmc/interfaces/generic/LanguageInvokerThread.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/xbmc/interfaces/generic/LanguageInvokerThread.cpp b/xbmc/interfaces/generic/LanguageInvokerThread.cpp +index 7b0d903..f92aa3e 100644 +--- a/xbmc/interfaces/generic/LanguageInvokerThread.cpp ++++ b/xbmc/interfaces/generic/LanguageInvokerThread.cpp +@@ -51,6 +51,11 @@ bool CLanguageInvokerThread::execute(const std::string &script, const std::vecto + m_args = arguments; + + Create(); ++ #ifdef TARGET_RASPBERRY_PI ++ /* low prio */ ++ SetPriority(GetPriority()-1); ++ #endif ++ + return true; + } + + +From 13d6b3ff4f79c3822df697a19184f9db43a7d257 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 27 Nov 2014 17:53:46 +0000 +Subject: [PATCH 93/95] [mmalcodec] Try reducing number of video frames + +--- + xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- + xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +index e491b8f..6ce648c 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +@@ -625,7 +625,7 @@ bool CMMALVideo::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options, MMALVide + if (status != MMAL_SUCCESS) + CLog::Log(LOGERROR, "%s::%s Failed to disable error concealment on %s (status=%x %s)", CLASSNAME, __func__, m_dec_input->name, status, mmal_status_to_string(status)); + +- status = mmal_port_parameter_set_uint32(m_dec_input, MMAL_PARAMETER_EXTRA_BUFFERS, NUM_BUFFERS); ++ status = mmal_port_parameter_set_uint32(m_dec_input, MMAL_PARAMETER_EXTRA_BUFFERS, GetAllowedReferences()); + if (status != MMAL_SUCCESS) + CLog::Log(LOGERROR, "%s::%s Failed to enable extra buffers on %s (status=%x %s)", CLASSNAME, __func__, m_dec_input->name, status, mmal_status_to_string(status)); + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.h b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.h +index 2eaea95..ea64276 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.h ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.h +@@ -85,7 +85,7 @@ class CMMALVideo + virtual void Reset(void); + virtual bool GetPicture(DVDVideoPicture *pDvdVideoPicture); + virtual bool ClearPicture(DVDVideoPicture* pDvdVideoPicture); +- virtual unsigned GetAllowedReferences() { return NUM_BUFFERS; } ++ virtual unsigned GetAllowedReferences() { return 3; } + virtual void SetDropState(bool bDrop); + virtual const char* GetName(void) { return (const char*)m_pFormatName; } + virtual bool GetCodecStats(double &pts, int &droppedPics); + +From 1c5fef94f15c0da61f0a5b5071f90eedb39150bf Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Fri, 28 Nov 2014 13:48:22 +0000 +Subject: [PATCH 94/95] Revert "[MMALCoded] Call port settings changed from + callback to avoid thread unsafe code" + +This reverts commit 371044f39f4ccf5207146efb96ea4859b9f704f0. +--- + xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 26 +++++++++++++++++----- + xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.h | 3 +++ + 2 files changed, 23 insertions(+), 6 deletions(-) + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +index 6ce648c..dd08c95 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp +@@ -57,6 +57,7 @@ CMMALVideoBuffer::CMMALVideoBuffer(CMMALVideo *omv) + height = 0; + index = 0; + m_aspect_ratio = 0.0f; ++ m_changed_count = 0; + dts = DVD_NOPTS_VALUE; + } + +@@ -122,6 +123,8 @@ CMMALVideo::CMMALVideo() + + m_codingType = 0; + ++ m_changed_count = 0; ++ m_changed_count_dec = 0; + m_output_busy = 0; + m_demux_queue_length = 0; + m_es_format = mmal_format_alloc(); +@@ -185,6 +188,7 @@ void CMMALVideo::PortSettingsChanged(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *bu + { + MMAL_EVENT_FORMAT_CHANGED_T *fmt = mmal_event_format_changed_get(buffer); + mmal_format_copy(m_es_format, fmt->format); ++ m_changed_count++; + + if (m_es_format->es->video.crop.width && m_es_format->es->video.crop.height) + { +@@ -193,13 +197,10 @@ void CMMALVideo::PortSettingsChanged(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *bu + m_decoded_width = m_es_format->es->video.crop.width; + m_decoded_height = m_es_format->es->video.crop.height; + if (g_advancedSettings.CanLogComponent(LOGVIDEO)) +- CLog::Log(LOGDEBUG, "%s::%s format changed: %dx%d %.2f", CLASSNAME, __func__, m_decoded_width, m_decoded_height, m_aspect_ratio); ++ CLog::Log(LOGDEBUG, "%s::%s format changed: %dx%d %.2f frame:%d", CLASSNAME, __func__, m_decoded_width, m_decoded_height, m_aspect_ratio, m_changed_count); + } + else + CLog::Log(LOGERROR, "%s::%s format changed: Unexpected %dx%d", CLASSNAME, __func__, m_es_format->es->video.crop.width, m_es_format->es->video.crop.height); +- +- if (!change_dec_output_format()) +- CLog::Log(LOGERROR, "%s::%s - change_dec_output_format() failed", CLASSNAME, __func__); + } + + void CMMALVideo::dec_control_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer) +@@ -274,10 +275,11 @@ void CMMALVideo::dec_output_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buf + CMMALVideoBuffer *omvb = new CMMALVideoBuffer(this); + m_output_busy++; + if (g_advancedSettings.CanLogComponent(LOGVIDEO)) +- CLog::Log(LOGDEBUG, "%s::%s - %p (%p) buffer_size(%u) dts:%.3f pts:%.3f flags:%x:%x", +- CLASSNAME, __func__, buffer, omvb, buffer->length, dts*1e-6, buffer->pts*1e-6, buffer->flags, buffer->type->video.flags); ++ CLog::Log(LOGDEBUG, "%s::%s - %p (%p) buffer_size(%u) dts:%.3f pts:%.3f flags:%x:%x frame:%d", ++ CLASSNAME, __func__, buffer, omvb, buffer->length, dts*1e-6, buffer->pts*1e-6, buffer->flags, buffer->type->video.flags, omvb->m_changed_count); + omvb->mmal_buffer = buffer; + buffer->user_data = (void *)omvb; ++ omvb->m_changed_count = m_changed_count; + omvb->dts = dts; + omvb->width = m_decoded_width; + omvb->height = m_decoded_height; +@@ -324,6 +326,7 @@ bool CMMALVideo::change_dec_output_format() + else + CLog::Log(LOGERROR, "%s::%s Failed to query interlace type on %s (status=%x %s)", CLASSNAME, __func__, m_dec_output->name, status, mmal_status_to_string(status)); + ++ // todo: if we don't disable/enable we can do this from callback + mmal_format_copy(m_dec_output->format, m_es_format); + status = mmal_port_format_commit(m_dec_output); + if (status != MMAL_SUCCESS) +@@ -864,6 +867,17 @@ int CMMALVideo::Decode(uint8_t* pData, int iSize, double dts, double pts) + assert(m_dts_queue.size() < 5000); + pthread_mutex_unlock(&m_output_mutex); + } ++ if (m_changed_count_dec != m_changed_count) ++ { ++ if (g_advancedSettings.CanLogComponent(LOGVIDEO)) ++ CLog::Log(LOGDEBUG, "%s::%s format changed frame:%d(%d)", CLASSNAME, __func__, m_changed_count_dec, m_changed_count); ++ m_changed_count_dec = m_changed_count; ++ if (!change_dec_output_format()) ++ { ++ CLog::Log(LOGERROR, "%s::%s - change_dec_output_format() failed", CLASSNAME, __func__); ++ return VC_ERROR; ++ } ++ } + EDEINTERLACEMODE deinterlace_request = CMediaSettings::Get().GetCurrentVideoSettings().m_DeinterlaceMode; + EINTERLACEMETHOD interlace_method = g_renderManager.AutoInterlaceMethod(CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod); + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.h b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.h +index ea64276..79a4bfd 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.h ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.h +@@ -57,6 +57,7 @@ class CMMALVideoBuffer + float m_aspect_ratio; + int index; + double dts; ++ uint32_t m_changed_count; + // reference counting + CMMALVideoBuffer* Acquire(); + long Release(); +@@ -98,6 +99,8 @@ class CMMALVideo + // MMAL decoder callback routines. + void dec_output_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer); + void dec_control_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer); ++ uint32_t m_changed_count; ++ uint32_t m_changed_count_dec; + + protected: + void QueryCodec(void); + +From 12f38ebb16476b4803d489a1cf72ed2d8a97ff4b Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Sat, 29 Nov 2014 15:25:16 +0000 +Subject: [PATCH 95/95] [rbp] hack: wait for splash to complete before changing + hdmi mode + +--- + xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 49 +++++++++++++++++++++++++ + 1 file changed, 49 insertions(+) + +diff --git a/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp b/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp +index 1529045..977ad3e 100644 +--- a/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp ++++ b/xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp +@@ -216,12 +216,61 @@ int CEGLNativeTypeRaspberryPI::AddUniqueResolution(RESOLUTION_INFO &res, std::ve + } + #endif + ++#include ++ ++pid_t proc_find(const char* name) ++{ ++ DIR* dir; ++ struct dirent* ent; ++ char buf[512]; ++ ++ long pid; ++ char pname[100] = {0,}; ++ char state; ++ FILE *fp=NULL; ++ ++ if (!(dir = opendir("/proc"))) { ++ perror("can't open /proc"); ++ return -1; ++ } ++ ++ while((ent = readdir(dir)) != NULL) { ++ long lpid = atol(ent->d_name); ++ if(lpid < 0) ++ continue; ++ snprintf(buf, sizeof(buf), "/proc/%ld/stat", lpid); ++ fp = fopen(buf, "r"); ++ ++ if (fp) { ++ if ( (fscanf(fp, "%ld (%[^)]) %c", &pid, pname, &state)) != 3 ){ ++ printf("fscanf failed \n"); ++ fclose(fp); ++ closedir(dir); ++ return -1; ++ } ++ if (!strcmp(pname, name)) { ++ fclose(fp); ++ closedir(dir); ++ return (pid_t)lpid; ++ } ++ fclose(fp); ++ } ++ } ++ ++ closedir(dir); ++ return -1; ++} ++ ++ + bool CEGLNativeTypeRaspberryPI::SetNativeResolution(const RESOLUTION_INFO &res) + { + #if defined(TARGET_RASPBERRY_PI) + if(!m_DllBcmHost || !m_nativeWindow) + return false; + ++ while (proc_find("hello_video.bin") >= 0) ++ Sleep(100); ++ + DestroyDispmaxWindow(); + + if(GETFLAGS_GROUP(res.dwFlags) && GETFLAGS_MODE(res.dwFlags))