projects/RPi/patches/kodi: update RPi support patch

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2015-01-24 20:25:54 +01:00
parent 9506cf652f
commit 319b02f643

View File

@ -1,7 +1,7 @@
From 5099c657ed913b27107daed59d3c2f292c130bdc Mon Sep 17 00:00:00 2001
From 21ccbc1fe377824d6d633e6288b39eae07dfa60f Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 7 Apr 2014 18:19:32 +0100
Subject: [PATCH 01/58] [rbp/omxplayer] When opening a stream don't try to
Subject: [PATCH 01/59] [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 2259dc17273193f7f19ba809cddc49fec0a5f326 Mon Sep 17 00:00:00 2001
From 7d18f486d1320b360e7a856e57f19ed47fa4f514 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 29 Apr 2014 15:23:22 +0100
Subject: [PATCH 02/58] [ffmpeg] Speed up wtv index creation
Subject: [PATCH 02/59] [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 bb5e50933c057d7f2a7c879b89a692fbd5f28630 Mon Sep 17 00:00:00 2001
From b799de5ea626ab81d1944e4009b3fd565cbb02f1 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sat, 2 Aug 2014 17:48:04 +0100
Subject: [PATCH 03/58] [omx] Report decoded image name
Subject: [PATCH 03/59] [omx] Report decoded image name
---
xbmc/cores/omxplayer/OMXImage.cpp | 1 +
@ -136,10 +136,10 @@ index aa413b9..22ec3f0 100644
else
{
From 7fb0e4a97e5718830992cc5a3d65a419d48b247a Mon Sep 17 00:00:00 2001
From e785585c1500e96dfa5910d9431f6e7ddc02bbe9 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sat, 8 Mar 2014 15:36:06 +0000
Subject: [PATCH 04/58] [hifiberry] Hack: force it to be recognised as IEC958
Subject: [PATCH 04/59] [hifiberry] Hack: force it to be recognised as IEC958
capable to enable passthrough options
---
@ -147,10 +147,10 @@ Subject: [PATCH 04/58] [hifiberry] Hack: force it to be recognised as IEC958
1 file changed, 4 insertions(+)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
index d30cbab..b268819 100644
index df50940..2d853d6 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
@@ -1331,6 +1331,10 @@ void CAESinkALSA::EnumerateDevice(AEDeviceInfoList &list, const std::string &dev
@@ -1333,6 +1333,10 @@ void CAESinkALSA::EnumerateDevice(AEDeviceInfoList &list, const std::string &dev
if (snd_card_get_name(cardNr, &cardName) == 0)
info.m_displayName = cardName;
@ -162,10 +162,10 @@ index d30cbab..b268819 100644
info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI")
{
From 52783b0d3f68ca3fa2ad16ab56ac21c2d40ff8bc Mon Sep 17 00:00:00 2001
From d30b5e83ae75e37e3cfef5b84d6a74464d59a064 Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Wed, 11 Dec 2013 17:21:54 +0000
Subject: [PATCH 05/58] Move the reference-counting of Begin and End calls from
Subject: [PATCH 05/59] 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 ca706fbeba454ba2f6c7ac6bd55d16853ce125bf Mon Sep 17 00:00:00 2001
From 6402cdee4f1aac1c61496ca7f20fc7c8b271d4ef Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Wed, 11 Dec 2013 18:47:54 +0000
Subject: [PATCH 06/58] Convert CGUIFontTTFBase::m_vertex to be managed as a
Subject: [PATCH 06/59] 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 94150df93a46996a5f3314893b4ceb3f9a53b992 Mon Sep 17 00:00:00 2001
From c835933f384d85f55db3e8b9f7e3b84eb9719361 Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Mon, 16 Dec 2013 18:58:12 +0000
Subject: [PATCH 07/58] CGUIFontTTFBase::RenderCharacter can now append to
Subject: [PATCH 07/59] 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 21b974d30eaa1f43375e72fbbcec103fa6d51df2 Mon Sep 17 00:00:00 2001
From 8ce21fb606737450c355302556db1a385ec251d0 Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Wed, 15 Jan 2014 17:18:38 +0000
Subject: [PATCH 08/58] Add a cache of font glyph bounding box vertices.
Subject: [PATCH 08/59] 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 3fbd0a7a9a41202c3835f46c1e09768a36e7604e Mon Sep 17 00:00:00 2001
From b9d51e7d9050ac5b9c97f234c0ca0f4afa21a25d Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Thu, 23 Jan 2014 22:24:17 +0000
Subject: [PATCH 09/58] Lay the groundwork for hardware clipping.
Subject: [PATCH 09/59] 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 92abab34c0fc2fdef57b71512d2b8c98ad056bdf Mon Sep 17 00:00:00 2001
From 9523e09fa9a2b07f5bc378c99698947d3c4e8e9f Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Thu, 23 Jan 2014 16:42:22 +0000
Subject: [PATCH 10/58] Increase font cache hit rate by keying on the
Subject: [PATCH 10/59] 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 9d5d28e8d56e76a4c90bc5d0944dd81ccf55729f Mon Sep 17 00:00:00 2001
From 4e26484c61e1e3b0222d324bfae61e02a6460c9c Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Wed, 8 Jan 2014 12:16:33 +0000
Subject: [PATCH 11/58] Rewrite of scrolling text code.
Subject: [PATCH 11/59] 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 6dd0257a1fa885463faa9bdcd50c3e38c87ab7a0 Mon Sep 17 00:00:00 2001
From 83e42cde447f96f70c1958bbc34bf0621e33a95e Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Mon, 27 Jan 2014 23:21:10 +0000
Subject: [PATCH 12/58] Move the application of the translation offsets into
Subject: [PATCH 12/59] 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 7ab37046f8907e538671faebeda45ffb128ace90 Mon Sep 17 00:00:00 2001
From fb3e0d6fb9dd5160e66f424c15b3d73091bb1123 Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Wed, 15 Jan 2014 15:28:06 +0000
Subject: [PATCH 13/58] Rather than applying the translation offsets to the
Subject: [PATCH 13/59] 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 5c28258fc17e38177267b0b270afd729d60f66af Mon Sep 17 00:00:00 2001
From 9b059c3ca15e30b119a427c2c9fc24d08081aa8f Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Wed, 29 Jan 2014 13:21:19 +0000
Subject: [PATCH 14/58] Enable hardware clipping.
Subject: [PATCH 14/59] 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 cec0adefc44f773935470259fd26b28ea712f3d0 Mon Sep 17 00:00:00 2001
From 96a2dfbc46d00a4d8d5d6315f66eb7a88ef627d2 Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Wed, 15 Jan 2014 15:32:51 +0000
Subject: [PATCH 15/58] Move the vertex data across to a vertex buffer object
Subject: [PATCH 15/59] 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 881be4bd423dd76d682948f1ca59792bfd75cea9 Mon Sep 17 00:00:00 2001
From ef90cbbf8c7ff7d6328aa9cc546267cd75e97682 Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Wed, 15 Jan 2014 16:04:04 +0000
Subject: [PATCH 16/58] Move vertex data into an OpenGL VBO when the font cache
Subject: [PATCH 16/59] 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 b5653b27c39e31cb185580f7c9383322d80048a7 Mon Sep 17 00:00:00 2001
From 319d8a3d4c55b51a862b2a391f67cb8c07064a9d Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sat, 1 Nov 2014 22:15:13 +0000
Subject: [PATCH 17/58] Switch from glDrawArrays() to glDrawElements().
Subject: [PATCH 17/59] 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 047173573be6d4ecd003a8680a755ccaa175a488 Mon Sep 17 00:00:00 2001
From ec27ce3984e872d6d0c42d0393fcbde422f16df3 Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@riscosopen.org>
Date: Thu, 1 May 2014 16:28:39 +0100
Subject: [PATCH 18/58] Improved file buffering in CArchive
Subject: [PATCH 18/59] 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 643f60617af83b1d5eeaf60f57c96fd1957ec107 Mon Sep 17 00:00:00 2001
From 41d3e133bbffc9d11331acfa99b7c2c3b8fcebe6 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 10 Sep 2014 22:07:21 +0100
Subject: [PATCH 19/58] [mmal] Allow mmal codec for dvd stills
Subject: [PATCH 19/59] [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 398081525beef489d6ed2fa9eab8e3baad47576c Mon Sep 17 00:00:00 2001
From acf046944e6ec8de7a93a607677447c77920fdf2 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 12 Aug 2014 00:31:36 +0100
Subject: [PATCH 20/58] [omxcodec] Don't force software codec with dvds
Subject: [PATCH 20/59] [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<CDVDInputStream::IMenus*>(m_pInputStream);
From fce5654c0ddb74fd337f6dccd6c6a207417bc30e Mon Sep 17 00:00:00 2001
From 5f656b301076fb0f51c592743e1f6f91a7c448df Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 16 Apr 2014 21:18:06 +0100
Subject: [PATCH 21/58] [omxplayer] Don't propagate 3d flags based on supported
Subject: [PATCH 21/59] [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 dfa03127d2d6d7fc10cc500fca8e8f123498466d Mon Sep 17 00:00:00 2001
From dbc9ba4f5a5eaac20d6a2bbbd5be864ff0199ba9 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 17 Apr 2014 13:00:52 +0100
Subject: [PATCH 22/58] [graphics] Don't set stereo mode based on resolution
Subject: [PATCH 22/59] [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 68e55b521bd0dd9d67fa25da717ffb1e00d5e69e Mon Sep 17 00:00:00 2001
From ad36167c254472a71fd235ca296531aeb6d2f3d4 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 17 Apr 2014 13:01:51 +0100
Subject: [PATCH 23/58] [graphics] Allow switching to a more suitable 3D
Subject: [PATCH 23/59] [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 249c39bccad7d3cdf87a0f2b18c442598e26a628 Mon Sep 17 00:00:00 2001
From fb10ab75b5341bf3c64f776862b41e6930f5da5e Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 17 Apr 2014 13:38:55 +0100
Subject: [PATCH 24/58] [3D] Support switching to 3D resolutions
Subject: [PATCH 24/59] [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 c067847ac3a59467f237cd8fbd4560633e52407f Mon Sep 17 00:00:00 2001
From 393948744ffbc7f0020de0106791950d2e1a9688 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 23 Apr 2014 00:05:07 +0100
Subject: [PATCH 25/58] [graphics] Make pixel ratio for 3d modes consistent
Subject: [PATCH 25/59] [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 e743cf6411d471af641c9204e123e45cd2eaca08 Mon Sep 17 00:00:00 2001
From 8230c7d8e8e9ac028b8d79db9795a6e4fdc6d70a Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sun, 10 Aug 2014 16:45:16 +0100
Subject: [PATCH 26/58] filesystem: Make support of browsing into archives
Subject: [PATCH 26/59] 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 173d4caabe6f94725b948a8f14479484f9c612fd Mon Sep 17 00:00:00 2001
From a1d5e1e55e73739ebc9351b10bf5da4996ce2789 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 27 Oct 2014 13:06:57 +0000
Subject: [PATCH 28/58] [rbp] Make cachemembuffersize default depend on memory
Subject: [PATCH 28/59] [rbp] Make cachemembuffersize default depend on memory
size
---
@ -4120,11 +4120,10 @@ index 478d725..69b7832 100644
// the following setting determines the readRate of a player data
// as multiply of the default data read rate
From a7a93995525f017f841212e0cd28b595114e563c Mon Sep 17 00:00:00 2001
From 2ca83864ff37a2231cb316bfd244d19cfde64c20 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 16 Jun 2014 19:06:00 +0100
Subject: [PATCH 30/58] [experimental] Disable quiet-noise generation
Subject: [PATCH 30/59] [experimental] Disable quiet-noise generation
---
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp | 2 ++
@ -4151,10 +4150,10 @@ index b391ff3..463a89c 100644
void CActiveAESink::SetSilenceTimer()
From fd8b88623d16478b196f8fea2319641d4f378390 Mon Sep 17 00:00:00 2001
From 4b8009168a04adf42580b2840cc0085dc2681116 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 30 May 2014 14:58:43 +0100
Subject: [PATCH 31/58] [settings] Experiment: Report DESKTOP resolution in
Subject: [PATCH 31/59] [settings] Experiment: Report DESKTOP resolution in
video settings
---
@ -4176,10 +4175,10 @@ index 6902f83..50c5f97 100644
StringUtils::Format("%dx%d%s", resolution->width, resolution->height,
ModeFlagsToString(resolution->flags, false).c_str()),
From c7e9b7c0e85631342133ca022537c1d8298b73f7 Mon Sep 17 00:00:00 2001
From 88db62dd5d2e68f145594046ac8560047c0f454c Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sat, 16 Aug 2014 21:01:42 +0100
Subject: [PATCH 32/58] omxrender: Hacks to reduce GUI rendering rate when
Subject: [PATCH 32/59] omxrender: Hacks to reduce GUI rendering rate when
playing video
---
@ -4279,10 +4278,10 @@ index 7ee0a34..e45cb7b 100644
int vsync_mode = CSettings::Get().GetInt("videoscreen.vsync");
From 2b307c4015f68a0c9c288e13c38b285d0d1937e6 Mon Sep 17 00:00:00 2001
From 154364d6e3f25a775501fb5962a60f28f3e9e5bf Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 9 Sep 2014 12:04:26 +0100
Subject: [PATCH 33/58] egl: Treat unknown display aspect ratio as square pixel
Subject: [PATCH 33/59] egl: Treat unknown display aspect ratio as square pixel
---
xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp | 4 ++--
@ -4311,10 +4310,10 @@ index bf1e589..a25eb86 100644
SetResolutionString(m_desktopRes);
From 5dca6fb26ff94171dce21a82b4848e8237acb59a Mon Sep 17 00:00:00 2001
From 6292fe41f1e05a3297855058d5b77bf108278d66 Mon Sep 17 00:00:00 2001
From: anaconda <anaconda@menakite.eu>
Date: Thu, 11 Sep 2014 21:30:43 +0200
Subject: [PATCH 34/58] Disable textbox autoscrolling while on screensaver.
Subject: [PATCH 34/59] Disable textbox autoscrolling while on screensaver.
SQUASH: only if dim or black
---
@ -4375,10 +4374,10 @@ index b7ef051..e149418 100644
if (m_lastRenderTime)
m_autoScrollDelayTime += currentTime - m_lastRenderTime;
From 03ff380e0ca4a1f1acefd387798af26513029dcd Mon Sep 17 00:00:00 2001
From 8c4d815df6f3b6e987d59baa3874c031f5bb3bf7 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 18 Sep 2014 14:24:56 +0100
Subject: [PATCH 35/58] [omxplayer] Only enable audio clock master when A/V
Subject: [PATCH 35/59] [omxplayer] Only enable audio clock master when A/V
sync method is set to audio clock
---
@ -4409,10 +4408,10 @@ index 5475570..7c07b57 100644
OMX_CONFIG_BOOLEANTYPE configBool;
OMX_INIT_STRUCTURE(configBool);
From 6afa97fe281ef2703d90b717a77dbcd97abfec80 Mon Sep 17 00:00:00 2001
From 90fd0cf3e81cfe5cf031ddb0695527b557239a44 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 19 Sep 2014 11:54:49 +0100
Subject: [PATCH 36/58] [dvdplayer/rbp] Add pi specific option to maintain
Subject: [PATCH 36/59] [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".
@ -4489,7 +4488,7 @@ index 782a9ba..3e0390c 100644
struct AEDelayStatus
diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
index f567518..5e9a6d3 100644
index c1a5b8d..fe76917 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
@@ -113,6 +113,7 @@ CDVDPlayerAudio::CDVDPlayerAudio(CDVDClock* pClock, CDVDMessageQueue& parent)
@ -4611,10 +4610,10 @@ index 4fd18f3..6456657 100644
private:
DllBcmHost *m_DllBcmHost;
From c70e9eb1ea7d26e72a2c9a73c7999af2956058a0 Mon Sep 17 00:00:00 2001
From 58b03e1d8f68488080ebcc691e76e1e88ff5cf56 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sat, 27 Sep 2014 15:32:37 +0100
Subject: [PATCH 37/58] [dvdplayer] exerimental: don't raise priority of audio
Subject: [PATCH 37/59] [dvdplayer] exerimental: don't raise priority of audio
thread
---
@ -4638,10 +4637,10 @@ index 12a3ed6..cb512ed 100644
}
From 834918157edb71baa1a0a08618db4371d6733656 Mon Sep 17 00:00:00 2001
From a7beb59c75489a8b6f060c68a4a7d93f222c059e Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sun, 28 Sep 2014 19:28:17 +0100
Subject: [PATCH 38/58] [mmalcodec] Introduce a preroll period to buffer up
Subject: [PATCH 38/59] [mmalcodec] Introduce a preroll period to buffer up
frames on startup
---
@ -4774,10 +4773,10 @@ index b4aa571..4f81bbd 100644
MMAL_COMPONENT_T *m_dec;
MMAL_PORT_T *m_dec_input;
From f60d2b673f05c265d37365e1796edfa04d1a7bbf Mon Sep 17 00:00:00 2001
From e8a46a451078513b444fbba5ef786c7757ba84a4 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 24 Sep 2014 23:13:52 +0100
Subject: [PATCH 39/58] [audio] Add settings option to boost centre channel
Subject: [PATCH 39/59] [audio] Add settings option to boost centre channel
when downmixing
This allows a dB volume increase to be added to centre channel.
@ -4900,10 +4899,10 @@ index 7c07b57..ef4c3d4 100644
// stereo upmix
if (upmix && m_src_channels == 2 && m_dst_channels > 2)
From 0da65ffdae0127a8a536b5ce32c0c94c70f5ac4b Mon Sep 17 00:00:00 2001
From 4427fe20b1c84879ce066681165c689b005543a5 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 3 Oct 2014 18:38:07 +0100
Subject: [PATCH 40/58] [omxcore] Skip out of flush on error
Subject: [PATCH 40/59] [omxcore] Skip out of flush on error
---
xbmc/linux/OMXCore.cpp | 4 ++--
@ -4932,10 +4931,10 @@ index 4ae29ba..4caa304 100644
OMX_ERRORTYPE omx_err = OMX_ErrorNone;
From b86dec67012a10f2b48f6594a8a565dbfe496993 Mon Sep 17 00:00:00 2001
From 01c145711b51499667cb036f19374da08638c501 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 3 Oct 2014 18:40:06 +0100
Subject: [PATCH 41/58] [SinkPi] Handle multichannel layout more like OMXAudio
Subject: [PATCH 41/59] [SinkPi] Handle multichannel layout more like OMXAudio
---
xbmc/cores/AudioEngine/Sinks/AESinkPi.cpp | 14 +++++++-------
@ -4994,10 +4993,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 14666f6af5a1b41669e3c063b9617bb90b61cea7 Mon Sep 17 00:00:00 2001
From fdc1ef0847edebd46f98194d1fbc65118f59178b Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 27 Oct 2014 15:23:51 +0000
Subject: [PATCH 42/58] [rbp] Default extract thumbnails to false
Subject: [PATCH 42/59] [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
@ -5027,11 +5026,10 @@ index 79853a8..4c2ef41 100644
<section id="system">
From 2715f438217a32724000749b90ded0cd4c578ac1 Mon Sep 17 00:00:00 2001
From 1dc7924bcf2248cbf8de6321248caed6ea4b98ef Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 11 Nov 2014 18:14:23 +0000
Subject: [PATCH 46/58] [resamplepi] Try to report the same numbers as ffmpeg
Subject: [PATCH 43/59] [resamplepi] Try to report the same numbers as ffmpeg
---
.../cores/AudioEngine/Engines/ActiveAE/ActiveAEResamplePi.cpp | 11 ++++++-----
@ -5082,10 +5080,10 @@ index 84505bf..2b5bef2 100644
CLog::Log(LOGINFO, "%s::%s = %d", CLASSNAME, __func__, ret);
#endif
From c7f2373fb92e2b86b8ce54b1ff943278ac5c636c Mon Sep 17 00:00:00 2001
From 20feac304c19062189822bab424b424bf95466f7 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 11 Nov 2014 20:49:30 +0000
Subject: [PATCH 47/58] [dvdplayer] New scheme for PLL adjustment for video
Subject: [PATCH 44/59] [dvdplayer] New scheme for PLL adjustment for video
clock
---
@ -5094,7 +5092,7 @@ Subject: [PATCH 47/58] [dvdplayer] New scheme for PLL adjustment for video
2 files changed, 18 insertions(+), 24 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
index 5e9a6d3..3e6d0ee 100644
index fe76917..4f25feb 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
@@ -113,7 +113,9 @@ CDVDPlayerAudio::CDVDPlayerAudio(CDVDClock* pClock, CDVDMessageQueue& parent)
@ -5200,10 +5198,10 @@ index 02c64a0..37bf4bd 100644
struct SInfo
{
From 4bff4f0daf7d5273b40740995eab2240245e8bc6 Mon Sep 17 00:00:00 2001
From 2ac649da29b87d196d11c0bf4e5b8421855805d5 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sat, 15 Nov 2014 12:03:34 +0000
Subject: [PATCH 48/58] [dvdplayer] Add lock for player creation
Subject: [PATCH 45/59] [dvdplayer] Add lock for player creation
---
xbmc/cores/dvdplayer/DVDPlayer.cpp | 3 +++
@ -5249,10 +5247,10 @@ index ef64076..7ea6ea6 100644
+ CCriticalSection m_players_lock;
};
From 5c8535e6b62b29fd576858b7f0ae48aedd5c4e7c Mon Sep 17 00:00:00 2001
From e8adb55589500303efbc2bc42b9f70e9124b9a74 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 19 Nov 2014 13:29:43 +0000
Subject: [PATCH 49/58] [dvdplayeraudio] Add advancedsetting for configuring
Subject: [PATCH 46/59] [dvdplayeraudio] Add advancedsetting for configuring
max pll adjustment
---
@ -5262,7 +5260,7 @@ Subject: [PATCH 49/58] [dvdplayeraudio] Add advancedsetting for configuring
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
index 3e6d0ee..a1b6f4d 100644
index 4f25feb..3cfe8ad 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
@@ -25,6 +25,7 @@
@ -5321,10 +5319,10 @@ index ca995e3..99ed121 100644
float m_audioPlayCountMinimumPercent;
bool m_dvdplayerIgnoreDTSinWAV;
From 899b96e8044e12a1de491b9b935c904500bc3b51 Mon Sep 17 00:00:00 2001
From f25f04ba93452b312d9ce632030a5adadb9bbca4 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 19 Nov 2014 17:35:44 +0000
Subject: [PATCH 50/58] [mmalrender] Skip some log message in bypass mode
Subject: [PATCH 47/59] [mmalrender] Skip some log message in bypass mode
---
xbmc/cores/VideoRenderers/MMALRenderer.cpp | 9 ++++++---
@ -5362,10 +5360,10 @@ index 03a05de..c0ff30d 100644
// we only want to upload frames once
if (buffer->flipindex++)
From 224f650f004001ea17642fdb2b3c335119b3b593 Mon Sep 17 00:00:00 2001
From 1e5bd0e8c412b03de0b6fe75f10d8ac67c62469e Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 24 Nov 2014 21:24:25 +0000
Subject: [PATCH 51/58] [mmalcodec] Avoid deinterlace for dvd menus for now
Subject: [PATCH 48/59] [mmalcodec] Avoid deinterlace for dvd menus for now
---
xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +-
@ -5385,10 +5383,10 @@ index 6742e0e..a1f11e9 100644
else if (deinterlace_request == VS_DEINTERLACEMODE_FORCE)
deinterlace = true;
From ad39a3194e7a4d58ba743c76b0bce20aa23403cf Mon Sep 17 00:00:00 2001
From 2bda900ee4957bb97467cca3f17aaac23606eb64 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 24 Nov 2014 22:07:25 +0000
Subject: [PATCH 52/58] [dvdplayervideo] Prod decoder when in stills mode
Subject: [PATCH 49/59] [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.
@ -5465,10 +5463,10 @@ index f030e37..7a8fc10 100644
if (pMsg->IsType(CDVDMsg::GENERAL_SYNCHRONIZE))
From 07cae410e18ee3f1a7c5ebb7fc9118278b06ec8c Mon Sep 17 00:00:00 2001
From 1dd8bbf0cbaa4eb2b106026c8a6795bbcbea2dc2 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 27 Nov 2014 16:20:56 +0000
Subject: [PATCH 53/58] [mmalcodec] Skip some setup that is not required when
Subject: [PATCH 50/59] [mmalcodec] Skip some setup that is not required when
closing
---
@ -5535,10 +5533,10 @@ index a1f11e9..a11fa65 100644
m_startframe = false;
m_decoderPts = DVD_NOPTS_VALUE;
From 08c8ff55cee6218e28da19f99953eba17c6e9ef2 Mon Sep 17 00:00:00 2001
From 879005d804a40fa39f8100d69c92a686bd07a035 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 27 Nov 2014 16:31:56 +0000
Subject: [PATCH 54/58] [languageinvoker] Reduce priority of python threads
Subject: [PATCH 51/59] [languageinvoker] Reduce priority of python threads
---
xbmc/interfaces/generic/LanguageInvokerThread.cpp | 5 +++++
@ -5561,10 +5559,10 @@ index 7b0d903..f92aa3e 100644
}
From 99762cbbadb4e8124d5dc2146c9336c7f840bd53 Mon Sep 17 00:00:00 2001
From f45dc0e93b617bfa41f2433a15e940c54545d306 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 27 Nov 2014 17:53:46 +0000
Subject: [PATCH 55/58] [mmalcodec] Try reducing number of video frames
Subject: [PATCH 52/59] [mmalcodec] Try reducing number of video frames
---
xbmc/cores/dvdplayer/DVDCodecs/Video/MMALCodec.cpp | 2 +-
@ -5598,10 +5596,10 @@ index 4f81bbd..79a4bfd 100644
virtual const char* GetName(void) { return (const char*)m_pFormatName; }
virtual bool GetCodecStats(double &pts, int &droppedPics);
From 4da7a6db0dffc99ff2a4bbc7f7ad1a6e199e197e Mon Sep 17 00:00:00 2001
From 7f2d7176e86207f399922d3fd1bd1194b7de6ef1 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 1 Dec 2014 17:31:00 +0000
Subject: [PATCH 56/58] [mmalcodec] Ensure we have requested number of buffers
Subject: [PATCH 53/59] [mmalcodec] Ensure we have requested number of buffers
in non-accelerated case
---
@ -5622,10 +5620,10 @@ index c0ff30d..6d461bd 100644
status = mmal_port_enable(m_vout_input, vout_input_port_cb_static);
From ca9e4a01df9221a292680c35ce2b67f29dca8592 Mon Sep 17 00:00:00 2001
From b7e786c973c72b9adb17c745d45ba72110151b30 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 3 Dec 2014 21:17:53 +0000
Subject: [PATCH 57/58] [omxplayer] Add some info about hdmi sync to codec
Subject: [PATCH 54/59] [omxplayer] Add some info about hdmi sync to codec
overlay
---
@ -5706,10 +5704,10 @@ index c8fd5fb..9f26427 100644
bool IsEOS();
bool SubmittedEOS() const { return m_submitted_eos; }
From f4322d6a36acf9c81f273c4e64e8b23e6d5ff490 Mon Sep 17 00:00:00 2001
From 7814477833b01bd4478254a5ed275bf9ceee1615 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sun, 7 Dec 2014 15:21:18 +0000
Subject: [PATCH 58/58] [omxplayer] Remove test of removed setting, avoids a
Subject: [PATCH 55/59] [omxplayer] Remove test of removed setting, avoids a
log message
---
@ -5741,3 +5739,293 @@ index 66014d4..c2da2d2 100644
{
dataFormat = AE_FMT_DTS;
m_passthrough = true;
From 674fa6b14184940413b741fc4b4e4df94cb44044 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sun, 28 Dec 2014 19:13:51 +0000
Subject: [PATCH 56/59] [omxplayer] Skip packet concatenation for WMAV2 files
See: http://forum.kodi.tv/showthread.php?tid=212552
---
xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp b/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp
index 94b673e..1a920f7 100644
--- a/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp
+++ b/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp
@@ -97,8 +97,8 @@ bool COMXAudioCodecOMX::Open(CDVDStreamInfo &hints)
if (m_pCodecContext->request_channel_layout)
CLog::Log(LOGNOTICE,"COMXAudioCodecOMX::Open() Requesting channel layout of %x", (unsigned)m_pCodecContext->request_channel_layout);
- // vorbis has variable sized planar output, so skip concatenation
- if (hints.codec == AV_CODEC_ID_VORBIS)
+ // vorbis and wma2v2 have variable sized planar output, so skip concatenation
+ if (hints.codec == AV_CODEC_ID_VORBIS || hints.codec == AV_CODEC_ID_WMAV2)
m_bNoConcatenate = true;
if(m_pCodecContext->bits_per_coded_sample == 0)
From ad9ec806c4d916a4b6b633f2b5692a9f4d6edb2e Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 31 Dec 2014 17:08:52 +0000
Subject: [PATCH 57/59] 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.
The library has the .rar files in which don't play without removing and re-adding.
We'll let people who don't use archives disable it manually
---
system/settings/rbp.xml | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/system/settings/rbp.xml b/system/settings/rbp.xml
index 4c2ef41..3260465 100644
--- a/system/settings/rbp.xml
+++ b/system/settings/rbp.xml
@@ -1,15 +1,5 @@
<?xml version="1.0" encoding="utf-8" ?>
<settings>
- <section id="appearance">
- <category id="filelists">
- <group id="1">
- <setting id="filelists.browsearchives">
- <default>false</default>
- </setting>
- </group>
- </category>
- </section>
-
<section id="videos">
<category id="videoplayer" label="14086" help="36151">
<group id="2">
From 16bd86dde7c87439d67fe353a1edcc0433b98afd Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 31 Dec 2014 16:03:32 +0000
Subject: [PATCH 58/59] [PVR] Fix for slow metadata updates of recordings
See: http://forum.kodi.tv/showthread.php?tid=210774
metaron identified that entering the recordings screen wih 850 recordings on a Pi
was taking about 40 seconds. The database is opened and closed for every recording,
and this dominates the time taken. With the database open/close pulled out of the loop
it now takes 1.4 seconds.
squash: Changes suggested by Jalle19
---
xbmc/pvr/recordings/PVRRecording.cpp | 20 +++++++-------------
xbmc/pvr/recordings/PVRRecording.h | 4 +++-
xbmc/pvr/recordings/PVRRecordings.cpp | 27 +++++++++++++++++----------
xbmc/pvr/recordings/PVRRecordings.h | 4 +++-
4 files changed, 30 insertions(+), 25 deletions(-)
diff --git a/xbmc/pvr/recordings/PVRRecording.cpp b/xbmc/pvr/recordings/PVRRecording.cpp
index ccf2693..905f42c 100644
--- a/xbmc/pvr/recordings/PVRRecording.cpp
+++ b/xbmc/pvr/recordings/PVRRecording.cpp
@@ -221,7 +221,7 @@ bool CPVRRecording::SetPlayCount(int count)
return true;
}
-void CPVRRecording::UpdateMetadata(void)
+void CPVRRecording::UpdateMetadata(CVideoDatabase &db)
{
if (m_bGotMetaData)
return;
@@ -231,20 +231,14 @@ void CPVRRecording::UpdateMetadata(void)
if (!supportsPlayCount || !supportsLastPlayed)
{
- CVideoDatabase db;
- if (db.Open())
+ if (!supportsPlayCount)
{
- if (!supportsPlayCount)
- {
- CFileItem pFileItem(*this);
- m_playCount = db.GetPlayCount(pFileItem);
- }
-
- if (!supportsLastPlayed)
- db.GetResumeBookMark(m_strFileNameAndPath, m_resumePoint);
-
- db.Close();
+ CFileItem pFileItem(*this);
+ m_playCount = db.GetPlayCount(pFileItem);
}
+
+ if (!supportsLastPlayed)
+ db.GetResumeBookMark(m_strFileNameAndPath, m_resumePoint);
}
m_bGotMetaData = true;
diff --git a/xbmc/pvr/recordings/PVRRecording.h b/xbmc/pvr/recordings/PVRRecording.h
index 91af28a..c9d9359 100644
--- a/xbmc/pvr/recordings/PVRRecording.h
+++ b/xbmc/pvr/recordings/PVRRecording.h
@@ -39,6 +39,8 @@
#include "video/VideoInfoTag.h"
#include "XBDateTime.h"
+class CVideoDatabase;
+
namespace PVR
{
class CPVRRecording;
@@ -149,7 +151,7 @@ namespace PVR
* @brief Get the resume point and play count from the database if the
* client doesn't handle it itself.
*/
- void UpdateMetadata(void);
+ void UpdateMetadata(CVideoDatabase &db);
/*!
* @brief Update this tag with the contents of the given tag.
diff --git a/xbmc/pvr/recordings/PVRRecordings.cpp b/xbmc/pvr/recordings/PVRRecordings.cpp
index 34ef40f..7741efc 100644
--- a/xbmc/pvr/recordings/PVRRecordings.cpp
+++ b/xbmc/pvr/recordings/PVRRecordings.cpp
@@ -43,7 +43,14 @@ CPVRRecordings::CPVRRecordings(void) :
m_iLastId(0),
m_bGroupItems(true)
{
+ m_database.Open();
+}
+CPVRRecordings::~CPVRRecordings()
+{
+ Clear();
+ if (m_database.IsOpen())
+ m_database.Close();
}
void CPVRRecordings::UpdateFromClients(void)
@@ -119,8 +126,9 @@ void CPVRRecordings::GetSubDirectories(const std::string &strBase, CFileItemList
strFilePath = StringUtils::Format("pvr://recordings/%s/%s/", strUseBase.c_str(), strCurrent.c_str());
CFileItemPtr pFileItem;
- current->UpdateMetadata();
-
+ if (m_database.IsOpen())
+ current->UpdateMetadata(m_database);
+
if (!results->Contains(strFilePath))
{
pFileItem.reset(new CFileItem(strCurrent, true));
@@ -250,8 +258,7 @@ bool CPVRRecordings::SetRecordingsPlayCount(const CFileItemPtr &item, int count)
{
bool bResult = false;
- CVideoDatabase database;
- if (database.Open())
+ if (m_database.IsOpen())
{
bResult = true;
@@ -291,15 +298,13 @@ bool CPVRRecordings::SetRecordingsPlayCount(const CFileItemPtr &item, int count)
// Clear resume bookmark
if (count > 0)
{
- database.ClearBookMarksOfFile(pItem->GetPath(), CBookmark::RESUME);
+ m_database.ClearBookMarksOfFile(pItem->GetPath(), CBookmark::RESUME);
recording->SetLastPlayedPosition(0);
}
- database.SetPlayCount(*pItem, count);
+ m_database.SetPlayCount(*pItem, count);
}
}
-
- database.Close();
}
return bResult;
@@ -330,7 +335,8 @@ bool CPVRRecordings::GetDirectory(const std::string& strPath, CFileItemList &ite
if (!IsDirectoryMember(strDirectoryPath, current->m_strDirectory))
continue;
- current->UpdateMetadata();
+ if (m_database.IsOpen())
+ current->UpdateMetadata(m_database);
CFileItemPtr pFileItem(new CFileItem(*current));
pFileItem->SetLabel2(current->RecordingTimeAsLocalTime().GetAsLocalizedDateTime(true, false));
pFileItem->m_dateTime = current->RecordingTimeAsLocalTime();
@@ -369,7 +375,8 @@ void CPVRRecordings::GetAll(CFileItemList &items)
for (PVR_RECORDINGMAP_CITR it = m_recordings.begin(); it != m_recordings.end(); it++)
{
CPVRRecordingPtr current = it->second;
- current->UpdateMetadata();
+ if (m_database.IsOpen())
+ current->UpdateMetadata(m_database);
CFileItemPtr pFileItem(new CFileItem(*current));
pFileItem->SetLabel2(current->RecordingTimeAsLocalTime().GetAsLocalizedDateTime(true, false));
diff --git a/xbmc/pvr/recordings/PVRRecordings.h b/xbmc/pvr/recordings/PVRRecordings.h
index 6b8cb14..2bcc834 100644
--- a/xbmc/pvr/recordings/PVRRecordings.h
+++ b/xbmc/pvr/recordings/PVRRecordings.h
@@ -24,6 +24,7 @@
#include "threads/Thread.h"
#include "utils/Observer.h"
#include "video/VideoThumbLoader.h"
+#include "video/VideoDatabase.h"
#define PVR_ALL_RECORDINGS_PATH_EXTENSION "-1"
@@ -40,6 +41,7 @@ namespace PVR
PVR_RECORDINGMAP m_recordings;
unsigned int m_iLastId;
bool m_bGroupItems;
+ CVideoDatabase m_database;
virtual void UpdateFromClients(void);
virtual std::string TrimSlashes(const std::string &strOrig) const;
@@ -58,7 +60,7 @@ namespace PVR
public:
CPVRRecordings(void);
- virtual ~CPVRRecordings(void) { Clear(); };
+ virtual ~CPVRRecordings(void);
int Load();
void Unload();
From 969cec1015db149712c65dec90b257098d36767e Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 29 Dec 2014 17:20:00 +0000
Subject: [PATCH 59/59] [dvdplayer] Allow pll adjustment to go higher, but tail
off more gradually
---
xbmc/cores/dvdplayer/DVDPlayerAudio.cpp | 2 +-
xbmc/settings/AdvancedSettings.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
index 3cfe8ad..5db48a8 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
@@ -716,7 +716,7 @@ void CDVDPlayerAudio::HandleSyncError(double duration)
else if (m_synctype == SYNC_PLLADJUST)
{
#if defined(TARGET_RASPBERRY_PI)
- double e = std::max(std::min(m_error / DVD_MSEC_TO_TIME(10), 1.0), -1.0);
+ double e = std::max(std::min(m_error / DVD_MSEC_TO_TIME(50), 1.0), -1.0);
double adjust = g_advancedSettings.m_maxPllAdjust * 1e-6;
m_plladjust = 1.0 + e * adjust;
m_last_plladjust = g_RBP.AdjustHDMIClock(m_plladjust);
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
index 5eca79a..b1e396a 100644
--- a/xbmc/settings/AdvancedSettings.cpp
+++ b/xbmc/settings/AdvancedSettings.cpp
@@ -108,7 +108,7 @@ void CAdvancedSettings::Initialize()
m_audioHeadRoom = 0;
m_ac3Gain = 12.0f;
- m_maxPllAdjust = 300;
+ m_maxPllAdjust = 1000;
m_audioApplyDrc = true;
m_dvdplayerIgnoreDTSinWAV = false;