From ce4abb247ae578a038bd18093aee4d6ef6daa1b0 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 1 Feb 2015 13:35:22 +0100 Subject: [PATCH] projects/RPi/patches/kodi: update RPi support patch Signed-off-by: Stephan Raue --- .../kodi/kodi-001-helix_rpb_backports.patch | 449 +++++++++++++----- 1 file changed, 331 insertions(+), 118 deletions(-) diff --git a/projects/RPi/patches/kodi/kodi-001-helix_rpb_backports.patch b/projects/RPi/patches/kodi/kodi-001-helix_rpb_backports.patch index 7dd5a99e9a..e44856aca5 100644 --- a/projects/RPi/patches/kodi/kodi-001-helix_rpb_backports.patch +++ b/projects/RPi/patches/kodi/kodi-001-helix_rpb_backports.patch @@ -1,7 +1,7 @@ -From 21ccbc1fe377824d6d633e6288b39eae07dfa60f Mon Sep 17 00:00:00 2001 +From dde30eb9bfceb3e1160778da78f9454f4a420c60 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 18:19:32 +0100 -Subject: [PATCH 01/59] [rbp/omxplayer] When opening a stream don't try to +Subject: [PATCH 01/61] [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 7d18f486d1320b360e7a856e57f19ed47fa4f514 Mon Sep 17 00:00:00 2001 +From ec789b4201894bb0853901c8dfdb47cbf4050f4d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 29 Apr 2014 15:23:22 +0100 -Subject: [PATCH 02/59] [ffmpeg] Speed up wtv index creation +Subject: [PATCH 02/61] [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 b799de5ea626ab81d1944e4009b3fd565cbb02f1 Mon Sep 17 00:00:00 2001 +From a386d39840eab40ee600b0e4a013d8460c73aac0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 2 Aug 2014 17:48:04 +0100 -Subject: [PATCH 03/59] [omx] Report decoded image name +Subject: [PATCH 03/61] [omx] Report decoded image name --- xbmc/cores/omxplayer/OMXImage.cpp | 1 + @@ -136,10 +136,10 @@ index aa413b9..22ec3f0 100644 else { -From e785585c1500e96dfa5910d9431f6e7ddc02bbe9 Mon Sep 17 00:00:00 2001 +From 66aca8521dba22df0f955c60e44f31e15e52c503 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Mar 2014 15:36:06 +0000 -Subject: [PATCH 04/59] [hifiberry] Hack: force it to be recognised as IEC958 +Subject: [PATCH 04/61] [hifiberry] Hack: force it to be recognised as IEC958 capable to enable passthrough options --- @@ -162,10 +162,10 @@ index df50940..2d853d6 100644 info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI") { -From d30b5e83ae75e37e3cfef5b84d6a74464d59a064 Mon Sep 17 00:00:00 2001 +From 8f1504b250c22778df7115c08e44fa4602c8b21e Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 11 Dec 2013 17:21:54 +0000 -Subject: [PATCH 05/59] Move the reference-counting of Begin and End calls from +Subject: [PATCH 05/61] Move the reference-counting of Begin and End calls from DX and GL source files into GUIFontTTF.cpp. --- @@ -553,10 +553,10 @@ index c0bb53a..735fb3a 100644 protected: virtual CBaseTexture* ReallocTexture(unsigned int& newHeight); -From 6402cdee4f1aac1c61496ca7f20fc7c8b271d4ef Mon Sep 17 00:00:00 2001 +From 441db2d2d13756a3c7c7a952ee3e48193bfcc06f Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 11 Dec 2013 18:47:54 +0000 -Subject: [PATCH 06/59] Convert CGUIFontTTFBase::m_vertex to be managed as a +Subject: [PATCH 06/61] Convert CGUIFontTTFBase::m_vertex to be managed as a std::vector. Also retired CGUIFontTTFBase::m_vertex_count and @@ -736,10 +736,10 @@ index 97853fd..b76c6a5 100644 *vertices++ = m_vertex[i]; *vertices++ = m_vertex[i+1]; -From c835933f384d85f55db3e8b9f7e3b84eb9719361 Mon Sep 17 00:00:00 2001 +From 92f333f71132eeda5a93bf0efe4c3e95f4e334ef Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 16 Dec 2013 18:58:12 +0000 -Subject: [PATCH 07/59] CGUIFontTTFBase::RenderCharacter can now append to +Subject: [PATCH 07/61] CGUIFontTTFBase::RenderCharacter can now append to arbitrary vectors of vertices rather than only CGUIFontTTFBase::m_vertex --- @@ -812,10 +812,10 @@ index 5675725..a5d44f4 100644 virtual CBaseTexture* ReallocTexture(unsigned int& newHeight) = 0; -From 8ce21fb606737450c355302556db1a385ec251d0 Mon Sep 17 00:00:00 2001 +From 74a2b63b9dc70665bb3944c589b509b8a801aeb6 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 17:18:38 +0000 -Subject: [PATCH 08/59] Add a cache of font glyph bounding box vertices. +Subject: [PATCH 08/61] 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 @@ -1589,10 +1589,10 @@ index f351c99..9036ba9 100644 + return !operator==(a, b); +} -From b9d51e7d9050ac5b9c97f234c0ca0f4afa21a25d Mon Sep 17 00:00:00 2001 +From 0ad4af9bc0a131a5f75af68a6f375300a79dc50a Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 23 Jan 2014 22:24:17 +0000 -Subject: [PATCH 09/59] Lay the groundwork for hardware clipping. +Subject: [PATCH 09/61] 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 @@ -1854,10 +1854,10 @@ index 98e398a..81ee49e 100644 virtual void ResetScissors(); -From 9523e09fa9a2b07f5bc378c99698947d3c4e8e9f Mon Sep 17 00:00:00 2001 +From e5812aee3483744b42f7c98043261153d2a0ae22 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 23 Jan 2014 16:42:22 +0000 -Subject: [PATCH 10/59] Increase font cache hit rate by keying on the +Subject: [PATCH 10/61] 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 @@ -2058,10 +2058,10 @@ index 3b93672..258dffa 100644 private: virtual bool FirstBegin() = 0; -From 4e26484c61e1e3b0222d324bfae61e02a6460c9c Mon Sep 17 00:00:00 2001 +From 34e167b49c1a081d42dd6ebac1011f5776671acc Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 8 Jan 2014 12:16:33 +0000 -Subject: [PATCH 11/59] Rewrite of scrolling text code. +Subject: [PATCH 11/61] 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 @@ -2377,10 +2377,10 @@ index 2cda726..fbc579e 100644 private: void Process(); -From 83e42cde447f96f70c1958bbc34bf0621e33a95e Mon Sep 17 00:00:00 2001 +From f7e99d8c6f5ecbd7eeecf26462d68a8b5e32fbd9 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 27 Jan 2014 23:21:10 +0000 -Subject: [PATCH 12/59] Move the application of the translation offsets into +Subject: [PATCH 12/61] 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 @@ -2574,10 +2574,10 @@ index 9935ea4..18c9358 100644 memset(newTexture->GetPixels(), 0, m_textureHeight * newTexture->GetPitch()); if (m_texture) -From fb3e0d6fb9dd5160e66f424c15b3d73091bb1123 Mon Sep 17 00:00:00 2001 +From bf796b3c9edd178fe1fd15b7337045d81a33b3d7 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 15:28:06 +0000 -Subject: [PATCH 13/59] Rather than applying the translation offsets to the +Subject: [PATCH 13/61] 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. @@ -2721,10 +2721,10 @@ index 81ee49e..d2f9cd1 100644 protected: virtual void SetVSyncImpl(bool enable) = 0; -From 9b059c3ca15e30b119a427c2c9fc24d08081aa8f Mon Sep 17 00:00:00 2001 +From 504eab137cb13388fe90c71594984572196643d7 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 29 Jan 2014 13:21:19 +0000 -Subject: [PATCH 14/59] Enable hardware clipping. +Subject: [PATCH 14/61] Enable hardware clipping. --- xbmc/guilib/GUIFontTTF.cpp | 4 ++-- @@ -2796,10 +2796,10 @@ index ea08bf4..b63e337 100644 glUniformMatrix4fv(modelLoc, 1, GL_FALSE, g_matrices.GetMatrix(MM_MODELVIEW)); } -From 96a2dfbc46d00a4d8d5d6315f66eb7a88ef627d2 Mon Sep 17 00:00:00 2001 +From 17d9d1abffa0331f5010448e292d8e1fb2bdc3a4 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 15:32:51 +0000 -Subject: [PATCH 15/59] Move the vertex data across to a vertex buffer object +Subject: [PATCH 15/61] Move the vertex data across to a vertex buffer object just prior to drawing. --- @@ -2850,10 +2850,10 @@ index b63e337..b00055d 100644 // Disable the attributes used by this shader -From ef90cbbf8c7ff7d6328aa9cc546267cd75e97682 Mon Sep 17 00:00:00 2001 +From d5e6a10622a0ef375feaed609a37b02e1facd3ba Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 16:04:04 +0000 -Subject: [PATCH 16/59] Move vertex data into an OpenGL VBO when the font cache +Subject: [PATCH 16/61] 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 @@ -3126,10 +3126,10 @@ index 735fb3a..6102c90 100644 protected: virtual CBaseTexture* ReallocTexture(unsigned int& newHeight); -From 319d8a3d4c55b51a862b2a391f67cb8c07064a9d Mon Sep 17 00:00:00 2001 +From af7b182e5e871b1e478917973d7b06836172cba1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 1 Nov 2014 22:15:13 +0000 -Subject: [PATCH 17/59] Switch from glDrawArrays() to glDrawElements(). +Subject: [PATCH 17/61] 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. @@ -3350,10 +3350,10 @@ index 2bdd4fa..68f0117 100644 if (m_display != EGL_NO_DISPLAY) -From ec27ce3984e872d6d0c42d0393fcbde422f16df3 Mon Sep 17 00:00:00 2001 +From c0512739051fefdf815b4100213f4a43c22bc16c Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 1 May 2014 16:28:39 +0100 -Subject: [PATCH 18/59] Improved file buffering in CArchive +Subject: [PATCH 18/61] 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 @@ -3413,10 +3413,10 @@ index 6ed0f8f..8506d95 100644 } else -From 41d3e133bbffc9d11331acfa99b7c2c3b8fcebe6 Mon Sep 17 00:00:00 2001 +From 51b24a82bc14025ce06c0edf513725037ad12fae Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 10 Sep 2014 22:07:21 +0100 -Subject: [PATCH 19/59] [mmal] Allow mmal codec for dvd stills +Subject: [PATCH 19/61] [mmal] Allow mmal codec for dvd stills --- xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp | 4 ++++ @@ -3438,10 +3438,10 @@ index 10648c5..bea5e4f 100644 { // If dvd is an mpeg2 and hint.stills -From acf046944e6ec8de7a93a607677447c77920fdf2 Mon Sep 17 00:00:00 2001 +From 0537e3a504c1f23c5db538a5b74b8993cc4919a4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 12 Aug 2014 00:31:36 +0100 -Subject: [PATCH 20/59] [omxcodec] Don't force software codec with dvds +Subject: [PATCH 20/61] [omxcodec] Don't force software codec with dvds --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 2 ++ @@ -3462,10 +3462,10 @@ index aae59dc..12a3ed6 100644 CDVDInputStream::IMenus* pMenus = dynamic_cast(m_pInputStream); -From 5f656b301076fb0f51c592743e1f6f91a7c448df Mon Sep 17 00:00:00 2001 +From 48065b31bcc20416925a437417ff30c309ca422d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 16 Apr 2014 21:18:06 +0100 -Subject: [PATCH 21/59] [omxplayer] Don't propagate 3d flags based on supported +Subject: [PATCH 21/61] [omxplayer] Don't propagate 3d flags based on supported 3d modes --- @@ -3518,10 +3518,10 @@ index ac838ce..605318c9 100644 unsigned int iDisplayWidth = width; unsigned int iDisplayHeight = height; -From dbc9ba4f5a5eaac20d6a2bbbd5be864ff0199ba9 Mon Sep 17 00:00:00 2001 +From 8da39d7dc81be90459a1ffa8c67fb1dd826d1e54 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 17 Apr 2014 13:00:52 +0100 -Subject: [PATCH 22/59] [graphics] Don't set stereo mode based on resolution +Subject: [PATCH 22/61] [graphics] Don't set stereo mode based on resolution The resolution change should follow stereo mode --- @@ -3579,10 +3579,10 @@ index 3cb5587..fe6ebf4 100644 m_iScreenWidth = info_mod.iWidth; -From ad36167c254472a71fd235ca296531aeb6d2f3d4 Mon Sep 17 00:00:00 2001 +From a2fa758a0975c317360bed25e72f359f24545e50 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 17 Apr 2014 13:01:51 +0100 -Subject: [PATCH 23/59] [graphics] Allow switching to a more suitable 3D +Subject: [PATCH 23/61] [graphics] Allow switching to a more suitable 3D resolution --- @@ -3668,10 +3668,10 @@ index 2904c1b..8d3774f 100644 void ResetOverscan(RESOLUTION_INFO &resinfo); void ResetScreenParameters(RESOLUTION res); -From fb10ab75b5341bf3c64f776862b41e6930f5da5e Mon Sep 17 00:00:00 2001 +From 0ac98adc456416d3f687a81924659397d4a9ef7b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 17 Apr 2014 13:38:55 +0100 -Subject: [PATCH 24/59] [3D] Support switching to 3D resolutions +Subject: [PATCH 24/61] [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. @@ -3753,10 +3753,10 @@ index 83c3adb..8076e76 100644 return current; } -From 393948744ffbc7f0020de0106791950d2e1a9688 Mon Sep 17 00:00:00 2001 +From 7fef1d13ee7d83bcbe3ea5b8f74461c5744b9ca9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 23 Apr 2014 00:05:07 +0100 -Subject: [PATCH 25/59] [graphics] Make pixel ratio for 3d modes consistent +Subject: [PATCH 25/61] [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. @@ -3959,10 +3959,10 @@ index c58c28a..bf1e589 100644 AddUniqueResolution(res2, resolutions); -From 8230c7d8e8e9ac028b8d79db9795a6e4fdc6d70a Mon Sep 17 00:00:00 2001 +From 226505052e30a82e9df0517ee8a5c7e4e3ba230f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 10 Aug 2014 16:45:16 +0100 -Subject: [PATCH 26/59] filesystem: Make support of browsing into archives +Subject: [PATCH 26/61] 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. @@ -4061,10 +4061,10 @@ index 2fd8777..3b294cd 100644 { // XBMC Smart playlist - just XML renamed to XSP // read the name of the playlist in -From a1d5e1e55e73739ebc9351b10bf5da4996ce2789 Mon Sep 17 00:00:00 2001 +From f4bb933ecf5264da34f4016254a87318160ed59e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 13:06:57 +0000 -Subject: [PATCH 28/59] [rbp] Make cachemembuffersize default depend on memory +Subject: [PATCH 28/61] [rbp] Make cachemembuffersize default depend on memory size --- @@ -4120,10 +4120,11 @@ index 478d725..69b7832 100644 // the following setting determines the readRate of a player data // as multiply of the default data read rate -From 2ca83864ff37a2231cb316bfd244d19cfde64c20 Mon Sep 17 00:00:00 2001 + +From 2d804672d3ff76acc05ce146aaf0addbd17b9a72 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 16 Jun 2014 19:06:00 +0100 -Subject: [PATCH 30/59] [experimental] Disable quiet-noise generation +Subject: [PATCH 30/61] [experimental] Disable quiet-noise generation --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp | 2 ++ @@ -4150,10 +4151,10 @@ index b391ff3..463a89c 100644 void CActiveAESink::SetSilenceTimer() -From 4b8009168a04adf42580b2840cc0085dc2681116 Mon Sep 17 00:00:00 2001 +From 1ef873265263d237960c9052ab0fe425eaa3f08b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 30 May 2014 14:58:43 +0100 -Subject: [PATCH 31/59] [settings] Experiment: Report DESKTOP resolution in +Subject: [PATCH 31/61] [settings] Experiment: Report DESKTOP resolution in video settings --- @@ -4175,10 +4176,10 @@ index 6902f83..50c5f97 100644 StringUtils::Format("%dx%d%s", resolution->width, resolution->height, ModeFlagsToString(resolution->flags, false).c_str()), -From 88db62dd5d2e68f145594046ac8560047c0f454c Mon Sep 17 00:00:00 2001 +From 994c18e9e61d6a1070028f4253b68491e6feb474 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 16 Aug 2014 21:01:42 +0100 -Subject: [PATCH 32/59] omxrender: Hacks to reduce GUI rendering rate when +Subject: [PATCH 32/61] omxrender: Hacks to reduce GUI rendering rate when playing video --- @@ -4250,7 +4251,7 @@ index f3c8a01..2996c29 100644 diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 7ee0a34..e45cb7b 100644 +index 4a5619a..70dfea5 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -2207,6 +2207,23 @@ void CApplication::Render() @@ -4278,10 +4279,10 @@ index 7ee0a34..e45cb7b 100644 int vsync_mode = CSettings::Get().GetInt("videoscreen.vsync"); -From 154364d6e3f25a775501fb5962a60f28f3e9e5bf Mon Sep 17 00:00:00 2001 +From dde88c3d2123c6b6036f6d32d546ad691b06a99c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 9 Sep 2014 12:04:26 +0100 -Subject: [PATCH 33/59] egl: Treat unknown display aspect ratio as square pixel +Subject: [PATCH 33/61] egl: Treat unknown display aspect ratio as square pixel --- xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 4 ++-- @@ -4310,10 +4311,10 @@ index bf1e589..a25eb86 100644 SetResolutionString(m_desktopRes); -From 6292fe41f1e05a3297855058d5b77bf108278d66 Mon Sep 17 00:00:00 2001 +From a3efced6244577f10cbdaf5c16a3a5eee627e519 Mon Sep 17 00:00:00 2001 From: anaconda Date: Thu, 11 Sep 2014 21:30:43 +0200 -Subject: [PATCH 34/59] Disable textbox autoscrolling while on screensaver. +Subject: [PATCH 34/61] Disable textbox autoscrolling while on screensaver. SQUASH: only if dim or black --- @@ -4323,10 +4324,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 e45cb7b..aefa7a9 100644 +index 70dfea5..a5706bd 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -5877,3 +5877,10 @@ void CApplication::CloseNetworkShares() +@@ -5881,3 +5881,10 @@ void CApplication::CloseNetworkShares() CSFTPSessionManager::DisconnectAllSessions(); #endif } @@ -4351,7 +4352,7 @@ index 0a332ff..15efc90 100644 virtual bool OnSettingsSaving() const; diff --git a/xbmc/guilib/GUITextBox.cpp b/xbmc/guilib/GUITextBox.cpp -index b7ef051..e149418 100644 +index c0e2fa5..0eca360 100644 --- a/xbmc/guilib/GUITextBox.cpp +++ b/xbmc/guilib/GUITextBox.cpp @@ -23,6 +23,7 @@ @@ -4374,10 +4375,10 @@ index b7ef051..e149418 100644 if (m_lastRenderTime) m_autoScrollDelayTime += currentTime - m_lastRenderTime; -From 8c4d815df6f3b6e987d59baa3874c031f5bb3bf7 Mon Sep 17 00:00:00 2001 +From d2bfba18dd090634d5725ae74e92e6de7792fca7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 18 Sep 2014 14:24:56 +0100 -Subject: [PATCH 35/59] [omxplayer] Only enable audio clock master when A/V +Subject: [PATCH 35/61] [omxplayer] Only enable audio clock master when A/V sync method is set to audio clock --- @@ -4408,10 +4409,10 @@ index 5475570..7c07b57 100644 OMX_CONFIG_BOOLEANTYPE configBool; OMX_INIT_STRUCTURE(configBool); -From 90fd0cf3e81cfe5cf031ddb0695527b557239a44 Mon Sep 17 00:00:00 2001 +From 165d1b6f807277a808f70537d5f3bb2db75c3592 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 19 Sep 2014 11:54:49 +0100 -Subject: [PATCH 36/59] [dvdplayer/rbp] Add pi specific option to maintain +Subject: [PATCH 36/61] [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". @@ -4610,10 +4611,10 @@ index 4fd18f3..6456657 100644 private: DllBcmHost *m_DllBcmHost; -From 58b03e1d8f68488080ebcc691e76e1e88ff5cf56 Mon Sep 17 00:00:00 2001 +From 797d4926183f165a74a9b84ab3d3369907222c6b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 27 Sep 2014 15:32:37 +0100 -Subject: [PATCH 37/59] [dvdplayer] exerimental: don't raise priority of audio +Subject: [PATCH 37/61] [dvdplayer] exerimental: don't raise priority of audio thread --- @@ -4637,10 +4638,10 @@ index 12a3ed6..cb512ed 100644 } -From a7beb59c75489a8b6f060c68a4a7d93f222c059e Mon Sep 17 00:00:00 2001 +From 084de6d589287fed574658f9eec2180b0d7a7c79 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 28 Sep 2014 19:28:17 +0100 -Subject: [PATCH 38/59] [mmalcodec] Introduce a preroll period to buffer up +Subject: [PATCH 38/61] [mmalcodec] Introduce a preroll period to buffer up frames on startup --- @@ -4773,10 +4774,10 @@ index b4aa571..4f81bbd 100644 MMAL_COMPONENT_T *m_dec; MMAL_PORT_T *m_dec_input; -From e8a46a451078513b444fbba5ef786c7757ba84a4 Mon Sep 17 00:00:00 2001 +From 46d39ba5ad0927c5d61712a8b04f8d3ca824d9fd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 24 Sep 2014 23:13:52 +0100 -Subject: [PATCH 39/59] [audio] Add settings option to boost centre channel +Subject: [PATCH 39/61] [audio] Add settings option to boost centre channel when downmixing This allows a dB volume increase to be added to centre channel. @@ -4899,10 +4900,10 @@ index 7c07b57..ef4c3d4 100644 // stereo upmix if (upmix && m_src_channels == 2 && m_dst_channels > 2) -From 4427fe20b1c84879ce066681165c689b005543a5 Mon Sep 17 00:00:00 2001 +From 6686f4f39283921d069464eec0652f0cf6b091b0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 3 Oct 2014 18:38:07 +0100 -Subject: [PATCH 40/59] [omxcore] Skip out of flush on error +Subject: [PATCH 40/61] [omxcore] Skip out of flush on error --- xbmc/linux/OMXCore.cpp | 4 ++-- @@ -4931,10 +4932,10 @@ index 4ae29ba..4caa304 100644 OMX_ERRORTYPE omx_err = OMX_ErrorNone; -From 01c145711b51499667cb036f19374da08638c501 Mon Sep 17 00:00:00 2001 +From eb1c477c0c592f29037a9b14a30e5c23f79b9af4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 3 Oct 2014 18:40:06 +0100 -Subject: [PATCH 41/59] [SinkPi] Handle multichannel layout more like OMXAudio +Subject: [PATCH 41/61] [SinkPi] Handle multichannel layout more like OMXAudio --- xbmc/cores/AudioEngine/Sinks/AESinkPi.cpp | 14 +++++++------- @@ -4993,10 +4994,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 fdc1ef0847edebd46f98194d1fbc65118f59178b Mon Sep 17 00:00:00 2001 +From da6a81c9c7104c0d99f1140e14cf5b97efbd670a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 15:23:51 +0000 -Subject: [PATCH 42/59] [rbp] Default extract thumbnails to false +Subject: [PATCH 42/61] [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 @@ -5026,10 +5027,10 @@ index 79853a8..4c2ef41 100644
-From 1dc7924bcf2248cbf8de6321248caed6ea4b98ef Mon Sep 17 00:00:00 2001 +From c6be72242c0a7b7460f6c319c47e553151069a5a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Nov 2014 18:14:23 +0000 -Subject: [PATCH 43/59] [resamplepi] Try to report the same numbers as ffmpeg +Subject: [PATCH 43/61] [resamplepi] Try to report the same numbers as ffmpeg --- .../cores/AudioEngine/Engines/ActiveAE/ActiveAEResamplePi.cpp | 11 ++++++----- @@ -5080,10 +5081,10 @@ index 84505bf..2b5bef2 100644 CLog::Log(LOGINFO, "%s::%s = %d", CLASSNAME, __func__, ret); #endif -From 20feac304c19062189822bab424b424bf95466f7 Mon Sep 17 00:00:00 2001 +From 966d1486cb16fd2bb43aae9a5f494594687f697a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Nov 2014 20:49:30 +0000 -Subject: [PATCH 44/59] [dvdplayer] New scheme for PLL adjustment for video +Subject: [PATCH 44/61] [dvdplayer] New scheme for PLL adjustment for video clock --- @@ -5198,10 +5199,10 @@ index 02c64a0..37bf4bd 100644 struct SInfo { -From 2ac649da29b87d196d11c0bf4e5b8421855805d5 Mon Sep 17 00:00:00 2001 +From 14568a4a6a45449d3929effd789f7073a92d28ce Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 15 Nov 2014 12:03:34 +0000 -Subject: [PATCH 45/59] [dvdplayer] Add lock for player creation +Subject: [PATCH 45/61] [dvdplayer] Add lock for player creation --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 3 +++ @@ -5247,10 +5248,10 @@ index ef64076..7ea6ea6 100644 + CCriticalSection m_players_lock; }; -From e8adb55589500303efbc2bc42b9f70e9124b9a74 Mon Sep 17 00:00:00 2001 +From 2ac37fc94952151c5b1699152c46fae2c148631b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 19 Nov 2014 13:29:43 +0000 -Subject: [PATCH 46/59] [dvdplayeraudio] Add advancedsetting for configuring +Subject: [PATCH 46/61] [dvdplayeraudio] Add advancedsetting for configuring max pll adjustment --- @@ -5319,10 +5320,10 @@ index ca995e3..99ed121 100644 float m_audioPlayCountMinimumPercent; bool m_dvdplayerIgnoreDTSinWAV; -From f25f04ba93452b312d9ce632030a5adadb9bbca4 Mon Sep 17 00:00:00 2001 +From 10475adc38c9035919030e6b17b9d60c2c5e9e25 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 19 Nov 2014 17:35:44 +0000 -Subject: [PATCH 47/59] [mmalrender] Skip some log message in bypass mode +Subject: [PATCH 47/61] [mmalrender] Skip some log message in bypass mode --- xbmc/cores/VideoRenderers/MMALRenderer.cpp | 9 ++++++--- @@ -5360,10 +5361,10 @@ index 03a05de..c0ff30d 100644 // we only want to upload frames once if (buffer->flipindex++) -From 1e5bd0e8c412b03de0b6fe75f10d8ac67c62469e Mon Sep 17 00:00:00 2001 +From 030e02b42f71aac7efdf1c9e0554772503697e72 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 24 Nov 2014 21:24:25 +0000 -Subject: [PATCH 48/59] [mmalcodec] Avoid deinterlace for dvd menus for now +Subject: [PATCH 48/61] [mmalcodec] Avoid deinterlace for dvd menus for now --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -5383,10 +5384,10 @@ index 6742e0e..a1f11e9 100644 else if (deinterlace_request == VS_DEINTERLACEMODE_FORCE) deinterlace = true; -From 2bda900ee4957bb97467cca3f17aaac23606eb64 Mon Sep 17 00:00:00 2001 +From c4d184e405053e45b8fdac3e80eafdc0409a8868 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 24 Nov 2014 22:07:25 +0000 -Subject: [PATCH 49/59] [dvdplayervideo] Prod decoder when in stills mode +Subject: [PATCH 49/61] [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. @@ -5463,10 +5464,10 @@ index f030e37..7a8fc10 100644 if (pMsg->IsType(CDVDMsg::GENERAL_SYNCHRONIZE)) -From 1dd8bbf0cbaa4eb2b106026c8a6795bbcbea2dc2 Mon Sep 17 00:00:00 2001 +From b3522aea35dd182a42979a3d3f98d847593bac54 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 27 Nov 2014 16:20:56 +0000 -Subject: [PATCH 50/59] [mmalcodec] Skip some setup that is not required when +Subject: [PATCH 50/61] [mmalcodec] Skip some setup that is not required when closing --- @@ -5533,10 +5534,10 @@ index a1f11e9..a11fa65 100644 m_startframe = false; m_decoderPts = DVD_NOPTS_VALUE; -From 879005d804a40fa39f8100d69c92a686bd07a035 Mon Sep 17 00:00:00 2001 +From 98aee3513b7caf14a6bba2e465f28edec5b19837 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 27 Nov 2014 16:31:56 +0000 -Subject: [PATCH 51/59] [languageinvoker] Reduce priority of python threads +Subject: [PATCH 51/61] [languageinvoker] Reduce priority of python threads --- xbmc/interfaces/generic/LanguageInvokerThread.cpp | 5 +++++ @@ -5559,10 +5560,10 @@ index 7b0d903..f92aa3e 100644 } -From f45dc0e93b617bfa41f2433a15e940c54545d306 Mon Sep 17 00:00:00 2001 +From bad28af8f1636a612acc0ccc5ec9e43b67abce75 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 27 Nov 2014 17:53:46 +0000 -Subject: [PATCH 52/59] [mmalcodec] Try reducing number of video frames +Subject: [PATCH 52/61] [mmalcodec] Try reducing number of video frames --- xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +- @@ -5596,10 +5597,10 @@ index 4f81bbd..79a4bfd 100644 virtual const char* GetName(void) { return (const char*)m_pFormatName; } virtual bool GetCodecStats(double &pts, int &droppedPics); -From 7f2d7176e86207f399922d3fd1bd1194b7de6ef1 Mon Sep 17 00:00:00 2001 +From 1b411d8f41b1c8d8d49b950e032fb78cb2b34122 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 1 Dec 2014 17:31:00 +0000 -Subject: [PATCH 53/59] [mmalcodec] Ensure we have requested number of buffers +Subject: [PATCH 53/61] [mmalcodec] Ensure we have requested number of buffers in non-accelerated case --- @@ -5620,10 +5621,10 @@ index c0ff30d..6d461bd 100644 status = mmal_port_enable(m_vout_input, vout_input_port_cb_static); -From b7e786c973c72b9adb17c745d45ba72110151b30 Mon Sep 17 00:00:00 2001 +From fb6f3b4ead397628ec80a4cc37e0f03adc76eeaa Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Dec 2014 21:17:53 +0000 -Subject: [PATCH 54/59] [omxplayer] Add some info about hdmi sync to codec +Subject: [PATCH 54/61] [omxplayer] Add some info about hdmi sync to codec overlay --- @@ -5704,10 +5705,10 @@ index c8fd5fb..9f26427 100644 bool IsEOS(); bool SubmittedEOS() const { return m_submitted_eos; } -From 7814477833b01bd4478254a5ed275bf9ceee1615 Mon Sep 17 00:00:00 2001 +From 6fb024728dc90801ca8e77687658c8deb2b418b8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 7 Dec 2014 15:21:18 +0000 -Subject: [PATCH 55/59] [omxplayer] Remove test of removed setting, avoids a +Subject: [PATCH 55/61] [omxplayer] Remove test of removed setting, avoids a log message --- @@ -5740,10 +5741,10 @@ index 66014d4..c2da2d2 100644 dataFormat = AE_FMT_DTS; m_passthrough = true; -From 674fa6b14184940413b741fc4b4e4df94cb44044 Mon Sep 17 00:00:00 2001 +From fe843625b9ad099a11ba8381a8ed9de8bcffec1c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 28 Dec 2014 19:13:51 +0000 -Subject: [PATCH 56/59] [omxplayer] Skip packet concatenation for WMAV2 files +Subject: [PATCH 56/61] [omxplayer] Skip packet concatenation for WMAV2 files See: http://forum.kodi.tv/showthread.php?tid=212552 --- @@ -5766,10 +5767,10 @@ index 94b673e..1a920f7 100644 if(m_pCodecContext->bits_per_coded_sample == 0) -From ad9ec806c4d916a4b6b633f2b5692a9f4d6edb2e Mon Sep 17 00:00:00 2001 +From 1a6ebaab8be9dcc9ae335121189b5f3bf2d19f8a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 31 Dec 2014 17:08:52 +0000 -Subject: [PATCH 57/59] filesystem: Make browsing into archives enbabled by +Subject: [PATCH 57/61] filesystem: Make browsing into archives enbabled by default on Pi This causes issues for people who scan library with archives disabled, then subsequently enable it. @@ -5801,10 +5802,10 @@ index 4c2ef41..3260465 100644 -From 16bd86dde7c87439d67fe353a1edcc0433b98afd Mon Sep 17 00:00:00 2001 +From 32b9d35387473c681e524db4c6e82173d498eb40 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 31 Dec 2014 16:03:32 +0000 -Subject: [PATCH 58/59] [PVR] Fix for slow metadata updates of recordings +Subject: [PATCH 58/61] [PVR] Fix for slow metadata updates of recordings See: http://forum.kodi.tv/showthread.php?tid=210774 @@ -5992,10 +5993,10 @@ index 6b8cb14..2bcc834 100644 int Load(); void Unload(); -From 969cec1015db149712c65dec90b257098d36767e Mon Sep 17 00:00:00 2001 +From deb907165630c7c6bb61f81a005eee94c964105e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 29 Dec 2014 17:20:00 +0000 -Subject: [PATCH 59/59] [dvdplayer] Allow pll adjustment to go higher, but tail +Subject: [PATCH 59/61] [dvdplayer] Allow pll adjustment to go higher, but tail off more gradually --- @@ -6029,3 +6030,215 @@ index 5eca79a..b1e396a 100644 m_audioApplyDrc = true; m_dvdplayerIgnoreDTSinWAV = false; + +From 9c137af65807edcfa0e3e9910a1ae8689be7ccae Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 11 Dec 2014 17:00:57 +0000 +Subject: [PATCH 60/61] Fix for UI not showing both extractflags and + extractthumb + +--- + language/English/strings.po | 11 ++++++++--- + system/settings/settings.xml | 10 +++++----- + 2 files changed, 13 insertions(+), 8 deletions(-) + +diff --git a/language/English/strings.po b/language/English/strings.po +index 24f9636..c54cb25 100755 +--- a/language/English/strings.po ++++ b/language/English/strings.po +@@ -10790,7 +10790,7 @@ msgstr "" + + #: system/settings/settings.xml + msgctxt "#20433" +-msgid "Extract thumbnails and video information" ++msgid "Extract video information from files" + msgstr "" + + #: xbmc/dialogs/GUIDialogSmartPlaylistRule.cpp +@@ -14164,7 +14164,7 @@ msgstr "" + #. Description of setting "Videos -> File lists -> Extract thumbnails and video information" with label #20433 + #: system/settings/settings.xml + msgctxt "#36178" +-msgid "Extract thumbnails and metadata information such as codec and aspect ratio from videos." ++msgid "Extract metadata information such as codec and aspect ratio from videos." + msgstr "" + + #. Description of setting "Videos -> File lists -> Replace file names with library titles" with label #20419 +@@ -14176,7 +14176,7 @@ msgstr "" + #. Description of setting "Videos -> File lists -> Extract thumbnails and video information" with label #20433 + #: system/settings/settings.xml + msgctxt "#36180" +-msgid "Extract thumbnails and information, such as codecs and aspect ratio, to display in Library Mode." ++msgid "Extract thumbnails, to display in Library Mode." + msgstr "" + + #: system/settings/settings.xml +@@ -16172,3 +16172,8 @@ msgstr "" + msgctxt "#38009" + msgid "%i dB" + msgstr "" ++ ++#: system/settings/settings.xml ++msgctxt "#38015" ++msgid "Extract thumbnails from video files" ++msgstr "" +diff --git a/system/settings/settings.xml b/system/settings/settings.xml +index dbddcb6..756475f 100644 +--- a/system/settings/settings.xml ++++ b/system/settings/settings.xml +@@ -802,17 +802,17 @@ + + + +- 1 ++ 3 + true + + +- +- 1 ++ ++ 3 + true + + +- +- 4 ++ ++ 1 + true + + + +From 81c40467f830476082680cc7b5242dcf59991ab9 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 26 Jan 2015 19:24:17 +0000 +Subject: [PATCH 61/61] Fix for occasinal heap corruption with font cache + +See: PR 4143 issuecomment-71114810 +--- + xbmc/guilib/GUIFontCache.h | 10 +++++++++- + xbmc/guilib/GUIFontTTF.cpp | 43 ++++++++++++++++++++++++++++++++----------- + 2 files changed, 41 insertions(+), 12 deletions(-) + +diff --git a/xbmc/guilib/GUIFontCache.h b/xbmc/guilib/GUIFontCache.h +index ff766bf..575ee7d 100644 +--- a/xbmc/guilib/GUIFontCache.h ++++ b/xbmc/guilib/GUIFontCache.h +@@ -38,6 +38,7 @@ + #include "boost/multi_index/sequenced_index.hpp" + #include "boost/multi_index/hashed_index.hpp" + #include "boost/multi_index/member.hpp" ++#include "boost/shared_ptr.hpp" + + #include "TransformMatrix.h" + +@@ -201,7 +202,14 @@ struct CGUIFontCacheStaticPosition + void UpdateWithOffsets(const CGUIFontCacheStaticPosition &cached, bool scrolling) {} + }; + +-typedef std::vector CGUIFontCacheStaticValue; ++struct CGUIFontCacheStaticValue : public boost::shared_ptr > ++{ ++ void clear() ++ { ++ if (*this) ++ (*this)->clear(); ++ } ++}; + + inline bool Match(const CGUIFontCacheStaticPosition &a, const TransformMatrix &a_m, + const CGUIFontCacheStaticPosition &b, const TransformMatrix &b_m, +diff --git a/xbmc/guilib/GUIFontTTF.cpp b/xbmc/guilib/GUIFontTTF.cpp +index 7d4fc88..4110546 100644 +--- a/xbmc/guilib/GUIFontTTF.cpp ++++ b/xbmc/guilib/GUIFontTTF.cpp +@@ -30,6 +30,7 @@ + #include "URL.h" + #include "filesystem/File.h" + #include "threads/SystemClock.h" ++#include "boost/make_shared.hpp" + + #include + +@@ -357,6 +358,7 @@ void CGUIFontTTFBase::DrawTextInternal(float x, float y, const vecColors &colors + { + Begin(); + ++ uint32_t rawAlignment = alignment; + bool dirtyCache; + bool hardwareClipping = g_Windowing.ScissorsCanEffectClipping(); + CGUIFontCacheStaticPosition staticPos(x, y); +@@ -376,8 +378,8 @@ void CGUIFontTTFBase::DrawTextInternal(float x, float y, const vecColors &colors + XbmcThreads::SystemClockMillis(), + dirtyCache) : + unusedVertexBuffer; +- std::vector tempVertices; +- std::vector &vertices = hardwareClipping ? ++ boost::shared_ptr > tempVertices = boost::make_shared >(); ++ boost::shared_ptr > &vertices = hardwareClipping ? + tempVertices : + m_staticCache.Lookup(staticPos, + colors, text, +@@ -467,7 +469,7 @@ void CGUIFontTTFBase::DrawTextInternal(float x, float y, const vecColors &colors + + for (int i = 0; i < 3; i++) + { +- RenderCharacter(startX + cursorX, startY, period, color, !scrolling, vertices); ++ RenderCharacter(startX + cursorX, startY, period, color, !scrolling, *tempVertices); + cursorX += period->advance; + } + break; +@@ -476,7 +478,7 @@ void CGUIFontTTFBase::DrawTextInternal(float x, float y, const vecColors &colors + else if (maxPixelWidth > 0 && cursorX > maxPixelWidth) + break; // exceeded max allowed width - stop rendering + +- RenderCharacter(startX + cursorX, startY, ch, color, !scrolling, vertices); ++ RenderCharacter(startX + cursorX, startY, ch, color, !scrolling, *tempVertices); + if ( alignment & XBFONT_JUSTIFIED ) + { + if ((*pos & 0xffff) == L' ') +@@ -489,17 +491,36 @@ void CGUIFontTTFBase::DrawTextInternal(float x, float y, const vecColors &colors + } + if (hardwareClipping) + { +- CVertexBuffer newVertexBuffer = CreateVertexBuffer(tempVertices); ++ CVertexBuffer &vertexBuffer = m_dynamicCache.Lookup(dynamicPos, ++ colors, text, ++ rawAlignment, maxPixelWidth, ++ scrolling, ++ XbmcThreads::SystemClockMillis(), ++ dirtyCache); ++ CVertexBuffer newVertexBuffer = CreateVertexBuffer(*tempVertices); + vertexBuffer = newVertexBuffer; + m_vertexTrans.push_back(CTranslatedVertices(0, 0, 0, &vertexBuffer, g_graphicsContext.GetClipRegion())); + } ++ else ++ { ++ m_staticCache.Lookup(staticPos, ++ colors, text, ++ rawAlignment, maxPixelWidth, ++ scrolling, ++ XbmcThreads::SystemClockMillis(), ++ dirtyCache) = *static_cast(&tempVertices); ++ /* Append the new vertices to the set collected since the first Begin() call */ ++ m_vertex.insert(m_vertex.end(), tempVertices->begin(), tempVertices->end()); ++ } ++ } ++ else ++ { ++ if (hardwareClipping) ++ m_vertexTrans.push_back(CTranslatedVertices(dynamicPos.m_x, dynamicPos.m_y, dynamicPos.m_z, &vertexBuffer, g_graphicsContext.GetClipRegion())); ++ else ++ /* Append the vertices from the cache to the set collected since the first Begin() call */ ++ m_vertex.insert(m_vertex.end(), vertices->begin(), vertices->end()); + } +- else if (hardwareClipping) +- m_vertexTrans.push_back(CTranslatedVertices(dynamicPos.m_x, dynamicPos.m_y, dynamicPos.m_z, &vertexBuffer, g_graphicsContext.GetClipRegion())); +- if (!hardwareClipping) +- /* Append the new vertices (from the cache or otherwise) to the set collected +- * since the first Begin() call */ +- m_vertex.insert(m_vertex.end(), vertices.begin(), vertices.end()); + + End(); + }