From 9803ebbbaa3e0217013aab26d4a0812692375efa Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 24 Aug 2014 21:33:03 +0200 Subject: [PATCH] projects/RPi/patches/xbmc: update RPi support patch Signed-off-by: Stephan Raue --- .../RPi/patches/xbmc/xbmc-001-newclock3.patch | 695 +++++++++++------- 1 file changed, 426 insertions(+), 269 deletions(-) diff --git a/projects/RPi/patches/xbmc/xbmc-001-newclock3.patch b/projects/RPi/patches/xbmc/xbmc-001-newclock3.patch index e032ef89e6..ae3ea9b972 100644 --- a/projects/RPi/patches/xbmc/xbmc-001-newclock3.patch +++ b/projects/RPi/patches/xbmc/xbmc-001-newclock3.patch @@ -1,7 +1,7 @@ -From 88deef19f68a7994a8c4e9e42029f449e9120c97 Mon Sep 17 00:00:00 2001 +From d819358e36fda80a9835d001617fbbc592975f3d Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 11 Dec 2013 17:21:54 +0000 -Subject: [PATCH 01/94] Move the reference-counting of Begin and End calls from +Subject: [PATCH 01/98] Move the reference-counting of Begin and End calls from DX and GL source files into GUIFontTTF.cpp. --- @@ -389,13 +389,13 @@ index c0bb53a..735fb3a 100644 protected: virtual CBaseTexture* ReallocTexture(unsigned int& newHeight); -- -2.0.3 +2.0.4 -From a23efe5dc4a0aca091ab56537beb5978619f638c Mon Sep 17 00:00:00 2001 +From 2ae68d725f8c8a4336dc8b534c8819aac6349e2f Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 11 Dec 2013 18:47:54 +0000 -Subject: [PATCH 02/94] Convert CGUIFontTTFBase::m_vertex to be managed as a +Subject: [PATCH 02/98] Convert CGUIFontTTFBase::m_vertex to be managed as a std::vector. Also retired CGUIFontTTFBase::m_vertex_count and @@ -575,13 +575,13 @@ index 97853fd..b76c6a5 100644 *vertices++ = m_vertex[i]; *vertices++ = m_vertex[i+1]; -- -2.0.3 +2.0.4 -From 760c0eab478e2ee285a20c2ed3fe639d951748b4 Mon Sep 17 00:00:00 2001 +From 350a202d929f1055ea1288170e8f02ffde58d4d8 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 16 Dec 2013 18:58:12 +0000 -Subject: [PATCH 03/94] CGUIFontTTFBase::RenderCharacter can now append to +Subject: [PATCH 03/98] CGUIFontTTFBase::RenderCharacter can now append to arbitrary vectors of vertices rather than only CGUIFontTTFBase::m_vertex --- @@ -654,13 +654,13 @@ index 10a7060..dde0350 100644 virtual CBaseTexture* ReallocTexture(unsigned int& newHeight) = 0; -- -2.0.3 +2.0.4 -From df3bbded4d97d53f295205008f02a5663459d1f4 Mon Sep 17 00:00:00 2001 +From cd87208a9b45510cae4b10fcc9bcaed8bc456d1f Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 17:18:38 +0000 -Subject: [PATCH 04/94] Add a cache of font glyph bounding box vertices. +Subject: [PATCH 04/98] 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 @@ -683,7 +683,7 @@ applicable transformation matrices permit the use of hardware clipping. create mode 100644 xbmc/guilib/GUIFontCache.h diff --git a/XBMC.xcodeproj/project.pbxproj b/XBMC.xcodeproj/project.pbxproj -index 51c3757..e87f5d8 100644 +index 7272e09..d4035eb 100644 --- a/XBMC.xcodeproj/project.pbxproj +++ b/XBMC.xcodeproj/project.pbxproj @@ -168,6 +168,9 @@ @@ -1420,13 +1420,13 @@ index f351c99..9036ba9 100644 + return !operator==(a, b); +} -- -2.0.3 +2.0.4 -From 5727ab5e7748f9439fd9082209117f2f71f97f06 Mon Sep 17 00:00:00 2001 +From fd9954757fcc329a0520b49d2dcc40e6b6bfd268 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 23 Jan 2014 22:24:17 +0000 -Subject: [PATCH 05/94] Lay the groundwork for hardware clipping. +Subject: [PATCH 05/98] 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 @@ -1688,13 +1688,13 @@ index 98e398a..81ee49e 100644 virtual void ResetScissors(); -- -2.0.3 +2.0.4 -From 6fdc19dfb418b8c6624df884c3be719d4d40e81a Mon Sep 17 00:00:00 2001 +From 1034dc69ccf5224f3dc09daf6c3bcf6fa44436cc Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 23 Jan 2014 16:42:22 +0000 -Subject: [PATCH 06/94] Increase font cache hit rate by keying on the +Subject: [PATCH 06/98] 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 @@ -1895,13 +1895,13 @@ index 77111bc..39bfa52 100644 private: virtual bool FirstBegin() = 0; -- -2.0.3 +2.0.4 -From 52932f558083ee968d0ad5a56af53236e80427c5 Mon Sep 17 00:00:00 2001 +From c3134f6882e448a9d8bb9bfed9cd95ee6a4984f6 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 8 Jan 2014 12:16:33 +0000 -Subject: [PATCH 07/94] Rewrite of scrolling text code. +Subject: [PATCH 07/98] 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 @@ -2217,13 +2217,13 @@ index 2cda726..fbc579e 100644 private: void Process(); -- -2.0.3 +2.0.4 -From 9f2e43ed1c754ac0d9f6fc5993222fe2d3dc6d63 Mon Sep 17 00:00:00 2001 +From f36c2de11f14d7968c661f9fcd985872564ffd1c Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 27 Jan 2014 23:21:10 +0000 -Subject: [PATCH 08/94] Move the application of the translation offsets into +Subject: [PATCH 08/98] 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 @@ -2417,13 +2417,13 @@ index 9935ea4..18c9358 100644 memset(newTexture->GetPixels(), 0, m_textureHeight * newTexture->GetPitch()); if (m_texture) -- -2.0.3 +2.0.4 -From 6f3cfbcd08d9e524310b56416ef7e83ba683c5d3 Mon Sep 17 00:00:00 2001 +From 85c802291c55ce74402ed9b918346ab0706acb56 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 15:28:06 +0000 -Subject: [PATCH 09/94] Rather than applying the translation offsets to the +Subject: [PATCH 09/98] 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. @@ -2567,13 +2567,13 @@ index 81ee49e..d2f9cd1 100644 protected: virtual void SetVSyncImpl(bool enable) = 0; -- -2.0.3 +2.0.4 -From a8529c5556cd78d2147cf7176f120c9102d37957 Mon Sep 17 00:00:00 2001 +From e604a57c55282b322fe787be62ee450130c01ac0 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 29 Jan 2014 13:21:19 +0000 -Subject: [PATCH 10/94] Enable hardware clipping. +Subject: [PATCH 10/98] Enable hardware clipping. --- xbmc/guilib/GUIFontTTF.cpp | 4 ++-- @@ -2646,13 +2646,13 @@ index ea08bf4..b63e337 100644 glUniformMatrix4fv(modelLoc, 1, GL_FALSE, g_matrices.GetMatrix(MM_MODELVIEW)); } -- -2.0.3 +2.0.4 -From 0b041247e6b0ea0353ae2b1719b308218bd03493 Mon Sep 17 00:00:00 2001 +From 326a6f64ac8e0a10bfa0026b16c9a2dce410ca8b Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 15:32:51 +0000 -Subject: [PATCH 11/94] Move the vertex data across to a vertex buffer object +Subject: [PATCH 11/98] Move the vertex data across to a vertex buffer object just prior to drawing. --- @@ -2703,13 +2703,13 @@ index b63e337..b00055d 100644 // Disable the attributes used by this shader -- -2.0.3 +2.0.4 -From 0e16e004016ffd8c8ed5183ccdfe5f84b03e9ec4 Mon Sep 17 00:00:00 2001 +From 01769d973a2455e1c2624dad906180d5f82cbfab Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 16:04:04 +0000 -Subject: [PATCH 12/94] Move vertex data into an OpenGL VBO when the font cache +Subject: [PATCH 12/98] 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 @@ -2982,13 +2982,13 @@ index 735fb3a..6102c90 100644 protected: virtual CBaseTexture* ReallocTexture(unsigned int& newHeight); -- -2.0.3 +2.0.4 -From ddbb5153890e14056b7340a15bb6964ff60059b4 Mon Sep 17 00:00:00 2001 +From 9b56dce00a1e508113c836461eb45e51f632d469 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 16 Jan 2014 16:29:42 +0000 -Subject: [PATCH 13/94] Switch from glDrawArrays() to glDrawElements(). +Subject: [PATCH 13/98] 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. @@ -3209,13 +3209,13 @@ index 6de3532..258a293 100644 if (m_display != EGL_NO_DISPLAY) -- -2.0.3 +2.0.4 -From 3a365a33c2746867f54472dbd5743134cb146072 Mon Sep 17 00:00:00 2001 +From 2759a8cc4b06119f569a4b6803980e6623b3e1a8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 10 Jan 2014 12:10:43 +0000 -Subject: [PATCH 14/94] [rbp] Don't override dvdplayer with omxplayer. +Subject: [PATCH 14/98] [rbp] Don't override dvdplayer with omxplayer. Using dvdplayer can be useful on the Pi. We can actually play sd (up to 640x480 MPEG-4 video) video in real time. This is useful for codec variants like DivX3 which we don't currently play. @@ -3245,13 +3245,13 @@ index c590cca..57b524f 100644 case EPC_EXTPLAYER: pPlayer = new CExternalPlayer(callback); break; #if defined(HAS_OMXPLAYER) -- -2.0.3 +2.0.4 -From 71ec2afecafa2668f5a1f6b2ab895770baa32e28 Mon Sep 17 00:00:00 2001 +From ec9813a9b29125eb1fba01d29809a842c0d68d20 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 10 Jan 2014 15:37:41 +0000 -Subject: [PATCH 15/94] [players] Use default players rather than hard coded +Subject: [PATCH 15/98] [players] Use default players rather than hard coded DVDPlayer/PAPlayer --- @@ -3307,20 +3307,20 @@ index 57dfcdd..7be9799 100644 -- -2.0.3 +2.0.4 -From 8652c4b7948cf6456e33b900fcc4e476bb0cbae3 Mon Sep 17 00:00:00 2001 +From 7250a8b81f2fb50019aa1ac1e0e997099f2759c4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 11 Jan 2014 18:23:42 +0000 -Subject: [PATCH 16/94] [rbp] Don't force dvdplayer for airplay +Subject: [PATCH 16/98] [rbp] Don't force dvdplayer for airplay --- xbmc/network/AirPlayServer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xbmc/network/AirPlayServer.cpp b/xbmc/network/AirPlayServer.cpp -index 80ea552..497898f 100644 +index 5900efd..3e16250 100644 --- a/xbmc/network/AirPlayServer.cpp +++ b/xbmc/network/AirPlayServer.cpp @@ -903,9 +903,11 @@ int CAirPlayServer::CTCPClient::ProcessRequest( std::string& responseHeader, @@ -3336,13 +3336,13 @@ index 80ea552..497898f 100644 } } -- -2.0.3 +2.0.4 -From 12da97fc4c4781d5b4e3042961bc88655be74ee9 Mon Sep 17 00:00:00 2001 +From 6fe4ca96daca4cbe8313ea5a23b9c7a63a87e2dd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Jan 2014 13:11:06 +0000 -Subject: [PATCH 17/94] [rbp] Give plugins omxplayer when they request +Subject: [PATCH 17/98] [rbp] Give plugins omxplayer when they request dvdplayer on pi --- @@ -3366,13 +3366,13 @@ index dfdca99..2a819ef 100644 int getPLAYER_CORE_PAPLAYER() { return EPC_PAPLAYER; } int getTRAY_OPEN() { return TRAY_OPEN; } -- -2.0.3 +2.0.4 -From 879cf3407ac8aa32367d3ca987faec930731ec1b Mon Sep 17 00:00:00 2001 +From 27ab25cbc2859cf42613a557f89833920ffa40e0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 14 Jan 2014 18:04:07 +0000 -Subject: [PATCH 18/94] [rbp] Allow ALSA to be chosen in addition to Pi sink +Subject: [PATCH 18/98] [rbp] Allow ALSA to be chosen in addition to Pi sink Needs --enable-alsa in ./configure step and alsa support on platform --- @@ -3460,13 +3460,13 @@ index e42d973..715b4f1 100644 info.m_deviceInfoList.clear(); -- -2.0.3 +2.0.4 -From 677d845340667ca229e1c7ae2221606cba1722e5 Mon Sep 17 00:00:00 2001 +From e7a4920bdd2b5c66886c61606da3b2b54c5967e8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 16 Jan 2014 01:39:29 +0000 -Subject: [PATCH 19/94] [omxcodec] Add hardware decode to dvdplayer for Pi +Subject: [PATCH 19/98] [omxcodec] Add hardware decode to dvdplayer for Pi Hijack the abandoned OpenMaxVideo codec --- @@ -5946,10 +5946,10 @@ index e06c41d..9079c13 100644 // defined(HAVE_LIBOPENMAX) diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index cbdd299..5da4608 100644 +index 8de1e96..87a1a9f 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp -@@ -2958,7 +2958,9 @@ bool CDVDPlayer::OpenVideoStream(CDVDStreamInfo& hint, bool reset) +@@ -2968,7 +2968,9 @@ bool CDVDPlayer::OpenVideoStream(CDVDStreamInfo& hint, bool reset) hint.aspect = aspect; hint.forced_aspect = true; } @@ -6118,13 +6118,13 @@ index 05052e5..6ade180 100644 bool Deinitialize(); -- -2.0.3 +2.0.4 -From 3dd7c5dc4f820779a024055006a3d309dfcc4c06 Mon Sep 17 00:00:00 2001 +From 10d7a165dce2be2673dd973eb135d616dcbb71bc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 20 Jan 2014 16:03:40 +0000 -Subject: [PATCH 20/94] [omxcodec] Enable for dvd menus +Subject: [PATCH 20/98] [omxcodec] Enable for dvd menus --- xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp | 4 ++++ @@ -6146,13 +6146,13 @@ index 34cc95d..e713967 100644 { // If dvd is an mpeg2 and hint.stills -- -2.0.3 +2.0.4 -From a4e5fcafc26d36fa70be1f8ffdf140fad7aacebf Mon Sep 17 00:00:00 2001 +From 6415c8052793080b20c83a9a1f885fe73d174cd2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Feb 2014 22:27:44 +0000 -Subject: [PATCH 21/94] [omxcodec] Add omx specific texture +Subject: [PATCH 21/98] [omxcodec] Add omx specific texture create/upload/delete functions --- @@ -6227,13 +6227,13 @@ index 5a6a2be..52df291 100644 // renderers -- -2.0.3 +2.0.4 -From 546e55c751a5b6662012406a0c860d048009fef9 Mon Sep 17 00:00:00 2001 +From 7a9b72968aba018b2cc347d62535cd7cd28061cc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Feb 2014 22:50:43 +0000 -Subject: [PATCH 22/94] [omxcodec] Add shared pointer to delay shutdown of +Subject: [PATCH 22/98] [omxcodec] Add shared pointer to delay shutdown of codec until buffers are returned --- @@ -6411,13 +6411,13 @@ index 9079c13..0975e8a 100644 std::queue m_dts_queue; std::queue m_demux_queue; -- -2.0.3 +2.0.4 -From f2fa3fde57773c23d573529c0da629c013bb6f27 Mon Sep 17 00:00:00 2001 +From bf538d7b64ef7af80b2333412e0e6bef452bd41d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Feb 2014 23:11:31 +0000 -Subject: [PATCH 23/94] [omxcodec] Fix for aspect ratio in non-square pixel +Subject: [PATCH 23/98] [omxcodec] Fix for aspect ratio in non-square pixel modes --- @@ -6503,13 +6503,13 @@ index 0975e8a..9138a20 100644 bool m_port_settings_changed; const char *m_pFormatName; -- -2.0.3 +2.0.4 -From 5825b39684748a183c0904df61dfd53dbfa31a90 Mon Sep 17 00:00:00 2001 +From 288a46fe4df261115d5d33726ad252d1032c8445 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Feb 2014 23:19:22 +0000 -Subject: [PATCH 24/94] [omxcodec] Report error when codec not enabled +Subject: [PATCH 24/98] [omxcodec] Report error when codec not enabled --- xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMaxVideo.cpp | 10 +++++++++- @@ -6551,13 +6551,13 @@ index 7e23c87..2ae722b 100644 if (!m_omx_decoder.Initialize("OMX.broadcom.video_decode", OMX_IndexParamVideoInit)) { -- -2.0.3 +2.0.4 -From fa7bafcccfe755ea50180bd1a323e47cc61b14bc Mon Sep 17 00:00:00 2001 +From 674f67e79653b2449ede473704296fc9def7068a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 4 Feb 2014 17:29:37 +0000 -Subject: [PATCH 25/94] [omxcodec] Add deinterlace support +Subject: [PATCH 25/98] [omxcodec] Add deinterlace support --- xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp | 2 +- @@ -6791,13 +6791,13 @@ index 9138a20..c8ad4d8 100644 bool SendDecoderConfig(uint8_t *extradata, int extrasize); bool NaluFormatStartCodes(enum AVCodecID codec, uint8_t *extradata, int extrasize); -- -2.0.3 +2.0.4 -From edb0bf3457fcbaa438471684ba115360758d770c Mon Sep 17 00:00:00 2001 +From 2cfd4ee0c30c2b9175fb749ce75f881b525774f7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 5 Feb 2014 11:46:33 +0000 -Subject: [PATCH 26/94] [rbp/settings] Allow av sync type to be enabled +Subject: [PATCH 26/98] [rbp/settings] Allow av sync type to be enabled It works for dvdplayer --- @@ -6823,13 +6823,13 @@ index 28e68eb..60086d8 100644 false -- -2.0.3 +2.0.4 -From b3b5c3f4e6018517c3319f765c26e7f8597ef880 Mon Sep 17 00:00:00 2001 +From 8236e9e1933ee500772cec31037669b7f6ef03f5 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 1 May 2014 16:28:39 +0100 -Subject: [PATCH 27/94] Improved file buffering in CArchive +Subject: [PATCH 27/98] 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 @@ -6889,13 +6889,13 @@ index 6ed0f8f..8506d95 100644 } else -- -2.0.3 +2.0.4 -From 502b038dd6bc46853790d8ed34d03658c9dafd95 Mon Sep 17 00:00:00 2001 +From 89841e727efb1f027fb761d2a84bc06df41373f5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 16 Feb 2014 17:38:05 +0000 -Subject: [PATCH 28/94] [omxcodec] Only do essential calls in texture thread +Subject: [PATCH 28/98] [omxcodec] Only do essential calls in texture thread [omxcodec] Fix for files with no valid pts values. [omxcodec] Fix stall on seek/trickplay - need to reset start flag [omxcodec] Make sure we have a valid context when video decode starts before first fanart is decoded @@ -7242,13 +7242,13 @@ index c8ad4d8..f234f6d 100644 bool SendDecoderConfig(uint8_t *extradata, int extrasize); bool NaluFormatStartCodes(enum AVCodecID codec, uint8_t *extradata, int extrasize); -- -2.0.3 +2.0.4 -From 5a4c7f2d336d59c8ea5025870f8461f62fa2ae41 Mon Sep 17 00:00:00 2001 +From 6a62251ecb1192f7400e61a9e6f3365f4964d003 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Mar 2014 15:36:06 +0000 -Subject: [PATCH 29/94] [hifiberry] Hack: force it to be recognised as IEC958 +Subject: [PATCH 29/98] [hifiberry] Hack: force it to be recognised as IEC958 capable to enable passthrough options --- @@ -7271,20 +7271,20 @@ index 8dee4bc..cc79e80 100644 info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI") { -- -2.0.3 +2.0.4 -From 096b2caae65c8ed81aa604b9c3e30563824dd61f Mon Sep 17 00:00:00 2001 +From dd403ddfb8710dbb5887351a2e61f6324cffacda Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Mar 2014 18:50:23 +0000 -Subject: [PATCH 30/94] [dvdplayer] Use inexact seeking like omxplayer +Subject: [PATCH 30/98] [dvdplayer] Use inexact seeking like omxplayer --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp -index 5da4608..b40188a 100644 +index 87a1a9f..61b208a 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -1888,7 +1888,11 @@ void CDVDPlayer::CheckAutoSceneSkip() @@ -7311,7 +7311,7 @@ index 5da4608..b40188a 100644 /* * Each commercial break is only skipped once so poorly detected commercial breaks can be * manually re-entered. Start and end are recorded to prevent looping and to allow seeking back -@@ -3095,9 +3103,12 @@ void CDVDPlayer::UpdateClockMaster() +@@ -3105,9 +3113,12 @@ void CDVDPlayer::UpdateClockMaster() void CDVDPlayer::FlushBuffers(bool queued, double pts, bool accurate) { double startpts; @@ -7325,13 +7325,13 @@ index 5da4608..b40188a 100644 /* call with demuxer pts */ -- -2.0.3 +2.0.4 -From 03f74970a27a5720d560501f56b368bd076e83a9 Mon Sep 17 00:00:00 2001 +From d64109414c39373c7eae15dfd01077b62d4d937f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 18:19:32 +0100 -Subject: [PATCH 31/94] [rbp/omxplayer] When opening a stream don't try to +Subject: [PATCH 31/98] [rbp/omxplayer] When opening a stream don't try to update gui so often --- @@ -7355,13 +7355,13 @@ index e9ba7d3..0fdc3c2 100644 g_windowManager.ProcessRenderLoop(false); if (allowCancel && dialog->IsCanceled()) -- -2.0.3 +2.0.4 -From c3cb0ffe2de06d2315541c45e2c36b662ecdfb6d Mon Sep 17 00:00:00 2001 +From 463cfd278377e55d5045ba0bcfd9d649d5e21a0c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 15:28:57 +0100 -Subject: [PATCH 32/94] [omxcodec] Clamp video texture at edges to avoid image +Subject: [PATCH 32/98] [omxcodec] Clamp video texture at edges to avoid image wrapping --- @@ -7382,13 +7382,13 @@ index 51f56aa..2929a37 100644 g_Windowing.EnableGUIShader(SM_TEXTURE_RGBA); -- -2.0.3 +2.0.4 -From 7abd8d9ba6de9d735d44f60fb199c4d092740824 Mon Sep 17 00:00:00 2001 +From a5f0e09db5b9fcd0f7fc64f08f35267fafc89d4d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 30 Mar 2014 15:54:34 +0100 -Subject: [PATCH 33/94] [omxplayer] Make the sharpness control act as a +Subject: [PATCH 33/98] [omxplayer] Make the sharpness control act as a sharpness control. This fixes scaling kernel as Mitchell Netravali, and varies sharpness over range B=[5/3,0] C=[-1/3,1/2] @@ -7397,7 +7397,7 @@ This fixes scaling kernel as Mitchell Netravali, and varies sharpness over range 1 file changed, 338 insertions(+) diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp -index e7a39fa..60ecf9a 100644 +index 53fe37d..616f88d 100644 --- a/xbmc/cores/omxplayer/OMXPlayer.cpp +++ b/xbmc/cores/omxplayer/OMXPlayer.cpp @@ -1043,6 +1043,334 @@ void CDVDPlayer::CheckBetterStream(CCurrentStream& current, CDemuxStream* stream @@ -7767,13 +7767,13 @@ index e7a39fa..60ecf9a 100644 void CDVDPlayer::GetDeinterlaceMethods(std::vector &deinterlaceMethods) -- -2.0.3 +2.0.4 -From d59bfd9faab40e184028fcfd8659f2abc6951b17 Mon Sep 17 00:00:00 2001 +From 90f187b0cb09943283f294815caa362add7bb8c8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 16 Apr 2014 21:18:06 +0100 -Subject: [PATCH 34/94] [omxplayer] Don't propagate 3d flags based on supported +Subject: [PATCH 34/98] [omxplayer] Don't propagate 3d flags based on supported 3d modes --- @@ -7826,13 +7826,13 @@ index af71235..0514e78 100644 unsigned int iDisplayWidth = width; unsigned int iDisplayHeight = height; -- -2.0.3 +2.0.4 -From 711e988150ee24fed958d3b1ffed669de56a706d Mon Sep 17 00:00:00 2001 +From c56f75a1dfedc45ccd37b076d37fbdfe971bfa1e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 17 Apr 2014 13:00:52 +0100 -Subject: [PATCH 35/94] [graphics] Don't set stereo mode based on resolution +Subject: [PATCH 35/98] [graphics] Don't set stereo mode based on resolution The resolution change should follow stereo mode --- @@ -7873,13 +7873,13 @@ index 5bffdf5..7e4fdd4 100644 m_iScreenWidth = info_mod.iWidth; -- -2.0.3 +2.0.4 -From a536e0c0784c0edeb7b8141d8e601b1e0abde911 Mon Sep 17 00:00:00 2001 +From bcab2450713aeda3af8e407f44c7e1d13787b60e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 17 Apr 2014 13:01:51 +0100 -Subject: [PATCH 36/94] [graphics] Allow switching to a more suitable 3D +Subject: [PATCH 36/98] [graphics] Allow switching to a more suitable 3D resolution --- @@ -7966,13 +7966,13 @@ index 0a27643..df55e92 100644 void ResetOverscan(RESOLUTION_INFO &resinfo); void ResetScreenParameters(RESOLUTION res); -- -2.0.3 +2.0.4 -From 8de8383f92f07dda801e3c57e7043fc8f1016a87 Mon Sep 17 00:00:00 2001 +From b5ce05465707a2d497335759613fa36f2ad664a8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 17 Apr 2014 13:38:55 +0100 -Subject: [PATCH 37/94] [3D] Support switching to 3D resolutions +Subject: [PATCH 37/98] [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. @@ -8054,13 +8054,13 @@ index 83c3adb..8076e76 100644 return current; } -- -2.0.3 +2.0.4 -From 71a046933e26f16494357b7562bf3e10be3a9d8b Mon Sep 17 00:00:00 2001 +From fca774bf7f927892cd830ba830df208c0f3a4c3e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 23 Apr 2014 00:05:07 +0100 -Subject: [PATCH 38/94] [graphics] Make pixel ratio for 3d modes consistent +Subject: [PATCH 38/98] [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. @@ -8245,13 +8245,13 @@ index c58c28a..bf1e589 100644 AddUniqueResolution(res2, resolutions); -- -2.0.3 +2.0.4 -From a676c63fc5f67835c39494c332f24e8f78d2cc60 Mon Sep 17 00:00:00 2001 +From 3425cf937c7633b5ba935d8059de85c3e2cff7f7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 22 Apr 2014 12:23:23 +0100 -Subject: [PATCH 39/94] [omxplayer] Make dvdplayer the default for dvd images +Subject: [PATCH 39/98] [omxplayer] Make dvdplayer the default for dvd images --- xbmc/cores/omxplayer/omxplayer_advancedsettings.xml | 2 +- @@ -8270,13 +8270,13 @@ index 77c6a15..51c0daf 100644 -- -2.0.3 +2.0.4 -From aa3165b530d7bc738a3be5da54e63025fd02ff78 Mon Sep 17 00:00:00 2001 +From 85af4bde26602bf5588af11078f0276fc9a8dacf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 26 Apr 2014 17:27:52 +0100 -Subject: [PATCH 40/94] [cec] Don't suspend pi on tv switch off - it can't wake +Subject: [PATCH 40/98] [cec] Don't suspend pi on tv switch off - it can't wake up --- @@ -8297,13 +8297,13 @@ index a906628..9b5271a 100644 -- -2.0.3 +2.0.4 -From 573a99190197f937aba90c76e817b0676a427c60 Mon Sep 17 00:00:00 2001 +From 33275593445d4aad1490609c077813022d06564b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 27 Jun 2013 01:25:57 +0100 -Subject: [PATCH 42/94] [rbp/omxplayer] Do we need discontinuity handling? +Subject: [PATCH 42/98] [rbp/omxplayer] Do we need discontinuity handling? So far I've not seen what this is needed for and it does cause problems for some files. --- @@ -8311,7 +8311,7 @@ So far I've not seen what this is needed for and it does cause problems for some 1 file changed, 1 insertion(+) diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp -index 60ecf9a..16417b6 100644 +index 616f88d..f1c9931 100644 --- a/xbmc/cores/omxplayer/OMXPlayer.cpp +++ b/xbmc/cores/omxplayer/OMXPlayer.cpp @@ -2351,6 +2351,7 @@ static void UpdateLimits(double& minimum, double& maximum, double dts) @@ -8323,13 +8323,13 @@ index 60ecf9a..16417b6 100644 return; -- -2.0.3 +2.0.4 -From bb42d8455a69e048e80bb8336cd87482e4581e5b Mon Sep 17 00:00:00 2001 +From 259fb7dbedb78a8a083cf4e21f766e79fe9b0b10 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 24 Oct 2013 00:53:26 +0100 -Subject: [PATCH 43/94] [rbp/omxplayer] Avoid marking non-monotonic timestamps +Subject: [PATCH 43/98] [rbp/omxplayer] Avoid marking non-monotonic timestamps as unknown Following a single spurious timestamp that is in the future, @@ -8368,13 +8368,13 @@ index a2f9b0c..c0c3a3f 100644 omx_buffer->nTimeStamp = ToOMXTime(val); -- -2.0.3 +2.0.4 -From eb1446f29152baac7e36c3c259005f3da551ac93 Mon Sep 17 00:00:00 2001 +From 64104d3983b74de984d3f4c7a69bbe13915256d5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 13 Dec 2013 16:25:23 +0000 -Subject: [PATCH 45/94] Add time taken to resample to log +Subject: [PATCH 45/98] Add time taken to resample to log --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 7 +++++++ @@ -8415,13 +8415,13 @@ index 01aafe3..5ab83a2 100644 bool m_isSeekPosible; int m_fileSize; -- -2.0.3 +2.0.4 -From 01d797f215cda93bf51a2892a5d8660cb39aaba5 Mon Sep 17 00:00:00 2001 +From eb1f529be51c71cce01c09bce707fcb8464e2219 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Dec 2013 16:55:05 +0000 -Subject: [PATCH 46/94] logging: Add microsecond timer to log messages +Subject: [PATCH 46/98] logging: Add microsecond timer to log messages --- xbmc/utils/log.cpp | 12 +++++++++--- @@ -8479,13 +8479,13 @@ index dd6ef26..8edf2fd 100644 levelNames[loglevel]); -- -2.0.3 +2.0.4 -From 01924af897b3b1c703a6e358dc606b5ec8c2c70c Mon Sep 17 00:00:00 2001 +From 6829c44375784e0ee43fb88901af699a283e09f9 Mon Sep 17 00:00:00 2001 From: Jonathan Marshall Date: Sat, 2 Nov 2013 23:49:17 +1300 -Subject: [PATCH 47/94] adds GetTvShowSeasons +Subject: [PATCH 47/98] adds GetTvShowSeasons --- xbmc/video/VideoDatabase.cpp | 30 ++++++++++++++++++++++++------ @@ -8493,7 +8493,7 @@ Subject: [PATCH 47/94] adds GetTvShowSeasons 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/xbmc/video/VideoDatabase.cpp b/xbmc/video/VideoDatabase.cpp -index c4ca0ff..f79187f 100644 +index 04785bf..d00c5b8 100644 --- a/xbmc/video/VideoDatabase.cpp +++ b/xbmc/video/VideoDatabase.cpp @@ -4213,7 +4213,7 @@ bool CVideoDatabase::RemoveArtForItem(int mediaId, const MediaType &mediaType, c @@ -8561,13 +8561,13 @@ index 78259ed..cbb26b7 100644 bool GetArtTypes(const MediaType &mediaType, std::vector &artTypes); -- -2.0.3 +2.0.4 -From 73002c75f9ff079cc71d24854bac29740825dca8 Mon Sep 17 00:00:00 2001 +From be4c6c018ba30a3213df5cf60ef1789560f013a5 Mon Sep 17 00:00:00 2001 From: Jonathan Marshall Date: Sat, 2 Nov 2013 23:50:10 +1300 -Subject: [PATCH 48/94] move AddSeason() public. +Subject: [PATCH 48/98] move AddSeason() public. --- xbmc/video/VideoDatabase.h | 2 +- @@ -8594,13 +8594,13 @@ index cbb26b7..1a79c00 100644 /*! \brief Adds a path to the tvshow link table. \param idShow the id of the show. -- -2.0.3 +2.0.4 -From 52a3526c439e685d037456f7fc4290f14940aab7 Mon Sep 17 00:00:00 2001 +From b6c3e6eb437c31507c586b557798c609e4b30a6b Mon Sep 17 00:00:00 2001 From: Jonathan Marshall Date: Sat, 2 Nov 2013 23:48:24 +1300 -Subject: [PATCH 49/94] adds GetArt function to (video) scraper, allowing art +Subject: [PATCH 49/98] adds GetArt function to (video) scraper, allowing art to be fetched given the video identifier. --- @@ -8715,13 +8715,13 @@ index 22ac229..75bc341 100644 enum LOOKUP_STATE { DO_NOTHING = 0, FIND_MOVIE = 1, -- -2.0.3 +2.0.4 -From 1cee0a89693885132e31f85c7304ca6f442c906b Mon Sep 17 00:00:00 2001 +From 0e75b28608903159462ce416a57e4d8fccb6abc2 Mon Sep 17 00:00:00 2001 From: Jonathan Marshall Date: Sat, 2 Nov 2013 23:53:14 +1300 -Subject: [PATCH 50/94] refresh season art if a new season is found that isn't +Subject: [PATCH 50/98] refresh season art if a new season is found that isn't recorded in the database yet. Fixes #14339 --- @@ -8825,13 +8825,13 @@ index 7da1bf2..c764e20 100644 bool ProcessItemByVideoInfoTag(const CFileItem *item, EPISODELIST &episodeList); -- -2.0.3 +2.0.4 -From 4d284f2167cdb91e3610591dc72b36f260dd6807 Mon Sep 17 00:00:00 2001 +From 25a70f76e35b09a7ed6f5ef4158114bdd5862a8d Mon Sep 17 00:00:00 2001 From: Jonathan Marshall Date: Sat, 2 Nov 2013 23:53:34 +1300 -Subject: [PATCH 51/94] REMOVEME: updated thetvdb.com scraper to support art +Subject: [PATCH 51/98] REMOVEME: updated thetvdb.com scraper to support art updates --- @@ -8939,13 +8939,13 @@ index 39e604d..60a0e96 100644 -- -2.0.3 +2.0.4 -From 002d1aaac820bd8e7b1f0e7a4e1c3a8ee61b61d2 Mon Sep 17 00:00:00 2001 +From 379050f0c0982fc4264d89fa1143c458bf67b7ee Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 22 Mar 2014 16:40:01 +0000 -Subject: [PATCH 52/94] Enable PYTHONOPTIMIZE for Pi +Subject: [PATCH 52/98] Enable PYTHONOPTIMIZE for Pi --- xbmc/interfaces/python/XBPython.cpp | 4 ++++ @@ -8967,13 +8967,13 @@ index cba242d..35a4509 100644 // Darwin packs .pyo files, we need PYTHONOPTIMIZE on in order to load them. #if defined(TARGET_DARWIN) -- -2.0.3 +2.0.4 -From ab3872243fa5d78859b6a9710550f2572aabe863 Mon Sep 17 00:00:00 2001 +From 818b588a0afc126f4afe0db2862d00116a50c7a7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Apr 2014 18:07:45 +0100 -Subject: [PATCH 53/94] [rpi] Make ActiveAE thread higher priority to make +Subject: [PATCH 53/98] [rpi] Make ActiveAE thread higher priority to make audio underrun less likely --- @@ -8998,13 +8998,13 @@ index 08346d2..e302098 100644 if (m_controlPort.SendOutMessageSync(CActiveAEControlProtocol::INIT, &reply, -- -2.0.3 +2.0.4 -From 34a6c15d86133a6366da81f6fc50e5c493c8a57e Mon Sep 17 00:00:00 2001 +From af4daa73a2d9fff255013de963b6a50fdd18b45b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 29 Apr 2014 15:23:22 +0100 -Subject: [PATCH 54/94] [ffmpeg] Speed up wtv index creation +Subject: [PATCH 54/98] [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. @@ -9090,13 +9090,13 @@ index 0000000..8f5f989 + } + } -- -2.0.3 +2.0.4 -From 7c0da0363b469d20d0257f442c5b08837c6ad8c5 Mon Sep 17 00:00:00 2001 +From 83935c9f97b8cfffa50ac24369b203fdbfb8fe3c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 8 Jul 2014 15:18:47 +0100 -Subject: [PATCH 55/94] ffmpeg: Add armv6 acceleration for imdct/fft used by +Subject: [PATCH 55/98] ffmpeg: Add armv6 acceleration for imdct/fft used by ac3/aac armv6: Accelerate ff_imdct_half for general case (mdct_bits != 6) @@ -9987,13 +9987,13 @@ index 0000000..db0118f +-- +1.9.3 -- -2.0.3 +2.0.4 -From 0a18e29b4ccfa90cdd63779e0bbd6943864d093a Mon Sep 17 00:00:00 2001 +From a9d341b74cdcc6ca9498e959c354dd126ef0e1e8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 12 May 2014 23:06:43 +0100 -Subject: [PATCH 56/94] [omxcodec] Updates to work better with dropping and +Subject: [PATCH 56/98] [omxcodec] Updates to work better with dropping and lateness detection --- @@ -10282,13 +10282,13 @@ index f234f6d..adf53b5 100644 bool SendDecoderConfig(uint8_t *extradata, int extrasize); bool NaluFormatStartCodes(enum AVCodecID codec, uint8_t *extradata, int extrasize); -- -2.0.3 +2.0.4 -From b9c825069be83f845099bd6930f79c32473ddfe8 Mon Sep 17 00:00:00 2001 +From 47b4c152cb3e710952f4549f327d5959045ee6a1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 11 Apr 2014 16:12:27 +0100 -Subject: [PATCH 57/94] [omxplayer] Add ability to log more timestamp info in +Subject: [PATCH 57/98] [omxplayer] Add ability to log more timestamp info in extra debug settings --- @@ -10329,7 +10329,7 @@ index 4bf5d83..3fb7cc3 100644 #ifdef __GNUC__ #define ATTRIB_LOG_FORMAT __attribute__((format(printf,3,4))) diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp -index 16417b6..87296cd 100644 +index f1c9931..62b671d 100644 --- a/xbmc/cores/omxplayer/OMXPlayer.cpp +++ b/xbmc/cores/omxplayer/OMXPlayer.cpp @@ -1545,27 +1545,28 @@ void CDVDPlayer::Process() @@ -10461,13 +10461,13 @@ index 5f3f2d8..56f9783 100644 void CAdvancedSettings::setExtraLogLevel(const std::vector &components) -- -2.0.3 +2.0.4 -From 59213ea859c1538e70e25946d7c24d7692b183ee Mon Sep 17 00:00:00 2001 +From f6fada00d9cbed53453bbd0630e97109da388c8e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 23:13:55 +0100 -Subject: [PATCH 58/94] [omxplayer] Add ability to dump out audio/video data +Subject: [PATCH 58/98] [omxplayer] Add ability to dump out audio/video data for later debugging --- @@ -10709,13 +10709,13 @@ index 56f9783..627080b 100644 void CAdvancedSettings::setExtraLogLevel(const std::vector &components) -- -2.0.3 +2.0.4 -From ad1661b1128ab133fa1f7b90f0b9a09ce4d92c53 Mon Sep 17 00:00:00 2001 +From 3476fc5f3dad5b268d66c16aa4200700da87ba5d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 28 May 2014 18:30:51 +0100 -Subject: [PATCH 59/94] [omxcodec] Reduce GPU memory use by 2 video frames +Subject: [PATCH 59/98] [omxcodec] Reduce GPU memory use by 2 video frames --- xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMaxVideo.cpp | 14 ++++++++++++++ @@ -10747,13 +10747,13 @@ index 612ae21..494fdf5 100644 OMX_CONFIG_REQUESTCALLBACKTYPE notifications; OMX_INIT_STRUCTURE(notifications); -- -2.0.3 +2.0.4 -From 052478eb83c73aa9eb48a11709c1fe1e17a708f3 Mon Sep 17 00:00:00 2001 +From 1a330ea289da487c224b436ad58f84161d9accd2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 30 May 2014 14:58:43 +0100 -Subject: [PATCH 60/94] [settings] Experiment: Report DESKTOP resolution in +Subject: [PATCH 60/98] [settings] Experiment: Report DESKTOP resolution in video settings --- @@ -10775,13 +10775,13 @@ index bb31f15..eae549b 100644 StringUtils::Format("%dx%d%s", resolution->width, resolution->height, ModeFlagsToString(resolution->flags, false).c_str()), -- -2.0.3 +2.0.4 -From ecaa05b2a108b2c2c2636cc3e98250dd34dd6faa Mon Sep 17 00:00:00 2001 +From b3ea9fc728aa1b4741b42051aa28d6dc4753319b Mon Sep 17 00:00:00 2001 From: Matthias Kortstiege Date: Sun, 1 Jun 2014 18:47:20 +0200 -Subject: [PATCH 61/94] changed: avoid useless filesytem io while searching for +Subject: [PATCH 61/98] changed: avoid useless filesytem io while searching for subtitles --- @@ -10811,13 +10811,13 @@ index 042c3f7..d8c50e8 100644 } else -- -2.0.3 +2.0.4 -From fb7814d3f9ffa7a04df2b7bbdbff071d63ff2840 Mon Sep 17 00:00:00 2001 +From 970c0b579437c6641d51ea9dd2307f493d203f17 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 30 Dec 2013 12:02:14 +0000 -Subject: [PATCH 62/94] [rbp] Hardware accelerated resampling +Subject: [PATCH 62/98] [rbp] Hardware accelerated resampling This replaces the format conversion, up/down mixing and resampling code from ActiveAE with a GPU accelerated version. Should significantly reduce CPU when using paplayer or dvdplayer. @@ -11647,13 +11647,13 @@ index 6cc4970..2ac9b7e 100644 OMX_ERRORTYPE omx_err = OMX_ErrorNone; -- -2.0.3 +2.0.4 -From a397e63e8b328251c878edc061cbe7819bd9e9cd Mon Sep 17 00:00:00 2001 +From 73e940d99eb8f4ca6c0c604effb3c93c6636f430 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 1 Jun 2014 12:15:17 +0100 -Subject: [PATCH 63/94] [resamplepi] Support planar formats +Subject: [PATCH 63/98] [resamplepi] Support planar formats --- .../Engines/ActiveAE/ActiveAEResamplePi.cpp | 101 ++++++++++++--------- @@ -11850,13 +11850,13 @@ index 9a1e549..1604030 100644 { #ifdef DEBUG_VERBOSE -- -2.0.3 +2.0.4 -From 36828df473f7566ce861597dfc5c1549362ee1ef Mon Sep 17 00:00:00 2001 +From eb889c49af0f988db7f174f18c5b4df9066cb380 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 15 Jun 2014 13:20:53 +0100 -Subject: [PATCH 64/94] gles: Avoid crash when capturing snapshot when using +Subject: [PATCH 64/98] gles: Avoid crash when capturing snapshot when using dvdplayer Note: snapshot will be blank, but that's better than crashing @@ -11879,13 +11879,13 @@ index 2929a37..53873f6 100644 capture->BeginRender(); capture->EndRender(); -- -2.0.3 +2.0.4 -From 7c93b9ea79b3d34f961a3498efa5481e58f3f610 Mon Sep 17 00:00:00 2001 +From 316d15895273f66fa2a39906b534fb59f770a9d7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 16 Jun 2014 19:05:14 +0100 -Subject: [PATCH 65/94] sqlite: Bump to 3080500 +Subject: [PATCH 65/98] sqlite: Bump to 3080500 --- tools/depends/target/sqlite3/Makefile | 4 +++- @@ -11907,13 +11907,13 @@ index 87f7eaa..8fe61e8 100644 ARCHIVE=$(SOURCE).tar.gz -- -2.0.3 +2.0.4 -From 1f2aeab9b3d463247d5e5f381e35c69ff54bb71c Mon Sep 17 00:00:00 2001 +From f4d8961a71c00b39e1e7fdf23c2fe3c56adf2a92 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 16 Jun 2014 19:06:00 +0100 -Subject: [PATCH 66/94] [experimental] Disable quiet-noise generation +Subject: [PATCH 66/98] [experimental] Disable quiet-noise generation --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp | 2 ++ @@ -11940,13 +11940,13 @@ index 488a0df..d9f4a43 100644 void CActiveAESink::SetSilenceTimer() -- -2.0.3 +2.0.4 -From 4c2c8d844e8c7e684545d574ab086389a95723bb Mon Sep 17 00:00:00 2001 +From d027aead2fa510c5377b247c209e34f18d50ea3b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 16 Jun 2014 19:07:21 +0100 -Subject: [PATCH 67/94] [omxcodec] Adjust asserts +Subject: [PATCH 67/98] [omxcodec] Adjust asserts --- xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMaxVideo.cpp | 11 +++++++---- @@ -11982,13 +11982,13 @@ index 494fdf5..23aaa9f 100644 } #endif -- -2.0.3 +2.0.4 -From f8f9cd89479c1b13e4c5313cc1dd2b63e4bdac68 Mon Sep 17 00:00:00 2001 +From 6e7116f994f19a6373d65827a7e0a13eab8f2598 Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:24:42 +0200 -Subject: [PATCH 68/94] Added some vc_tv_* functions that were missing in +Subject: [PATCH 68/98] Added some vc_tv_* functions that were missing in DllBCM. --- @@ -12023,13 +12023,13 @@ 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); }; -- -2.0.3 +2.0.4 -From 533ba4200dfee0471aafd2c1046e7e52223b55bd Mon Sep 17 00:00:00 2001 +From 54fc8bbcf415b16051a1a32c16c0262d190fc234 Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 18:29:03 +0200 -Subject: [PATCH 69/94] Added private utility function to map a float display +Subject: [PATCH 69/98] Added private utility function to map a float display aspect, to the respective SDTV_ASPECT_* enum value. --- @@ -12067,13 +12067,13 @@ index bf1e589..518a87d 100644 bool CEGLNativeTypeRaspberryPI::ProbeResolutions(std::vector &resolutions) -- -2.0.3 +2.0.4 -From 5058eea04dd50d2e70c1b19b99827444e2ff1cc5 Mon Sep 17 00:00:00 2001 +From c1835ac2ae92eed9be9a2ec91fade3572335efef Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 19:50:58 +0200 -Subject: [PATCH 70/94] Changed SDTV resolutions to be treated similarly to +Subject: [PATCH 70/98] 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. @@ -12170,13 +12170,13 @@ index 59401f5..a0acb1a 100644 int m_width; int m_height; -- -2.0.3 +2.0.4 -From 2728bb0da46b4cb41c9cfbadcd83817886d1fed8 Mon Sep 17 00:00:00 2001 +From 0f6c3f7714fb247b7bfa279c34eb0f32e177de28 Mon Sep 17 00:00:00 2001 From: macrule Date: Thu, 11 Apr 2013 19:54:59 +0200 -Subject: [PATCH 71/94] Added methods SuspendVideoOutput() and +Subject: [PATCH 71/98] 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. @@ -12240,13 +12240,13 @@ index 9dc39d5..ca36082 100644 CEGLNativeTypeRaspberryPI::CEGLNativeTypeRaspberryPI() { -- -2.0.3 +2.0.4 -From 97d0728a782ea92bdfbbf524366ab268ab7526be Mon Sep 17 00:00:00 2001 +From 8f058a071f95c0f9666c4fc2a03bb20e549b9db8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 11 Aug 2013 15:03:36 +0100 -Subject: [PATCH 72/94] PowerManager (and its IPowerSyscall instance) now gets +Subject: [PATCH 72/98] 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. @@ -12258,7 +12258,7 @@ Subject: [PATCH 72/94] PowerManager (and its IPowerSyscall instance) now gets 4 files changed, 23 insertions(+) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index f6b2901..48d6afb 100644 +index 479b54a..64e2ec5 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -2358,6 +2358,13 @@ bool CApplication::OnKey(const CKey& key) @@ -12339,13 +12339,13 @@ index 0b1f10a..e42b143 100644 void OnSleep(); void OnWake(); -- -2.0.3 +2.0.4 -From 69725511949af7bb7f037c097427eaba814fc5a0 Mon Sep 17 00:00:00 2001 +From f9b3d1b57d33564ad380bc2728a3b9b33ec85777 Mon Sep 17 00:00:00 2001 From: macrule Date: Wed, 17 Apr 2013 13:23:01 +0200 -Subject: [PATCH 73/94] Added CPowerSyscallVirtualSleep class, which acts as a +Subject: [PATCH 73/98] 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. @@ -12521,13 +12521,13 @@ index 0000000..ef6e682 + +#endif // _POWER_SYSCALL_VIRTUAL_SLEEP_H_ -- -2.0.3 +2.0.4 -From d3cb1a0f61f162f8d0f68a12f13876901a527677 Mon Sep 17 00:00:00 2001 +From 856baa2c34d05a1f7728ee5945b59942b292b1b9 Mon Sep 17 00:00:00 2001 From: macrule Date: Wed, 17 Apr 2013 13:24:22 +0200 -Subject: [PATCH 74/94] Added power management support for the Raspberry Pi. +Subject: [PATCH 74/98] 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. @@ -12673,13 +12673,13 @@ index 0000000..fd1d67c + +#endif // _RASPBERRY_PI_POWER_SYSCALL_H_ -- -2.0.3 +2.0.4 -From a54b4ced36ce74ecf3c5dfad3fddc7fb70edc10d Mon Sep 17 00:00:00 2001 +From 573bae2c2c516d7fb46288e5b2846e6bf3e7a6d8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Mar 2014 16:16:29 +0000 -Subject: [PATCH 75/94] [power] hack - don't kill lirc or cec +Subject: [PATCH 75/98] [power] hack - don't kill lirc or cec --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 37 +++++++++++++++++++++++ @@ -12763,13 +12763,13 @@ index 2d8c750..901f449 100644 CBuiltins::Execute("LIRC.Start"); #endif -- -2.0.3 +2.0.4 -From 960a483861c3a7f96e98ed2fd6a83afa94b54ae4 Mon Sep 17 00:00:00 2001 +From b5fe7c1d7495722c8cd74b38dfde5cca6b05feb9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Mar 2014 16:47:54 +0000 -Subject: [PATCH 76/94] [power] hack - wake on any action +Subject: [PATCH 76/98] [power] hack - wake on any action --- xbmc/powermanagement/PowerSyscallVirtualSleep.cpp | 6 +++--- @@ -12798,13 +12798,13 @@ index 6a1e47b..a717a09 100644 if(VirtualWake()) { -- -2.0.3 +2.0.4 -From 9f7463ade813ece86849313957aa6949fa072f29 Mon Sep 17 00:00:00 2001 +From 6a8fc76641a6f2795ac6140c084602d6a8d8426e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Mar 2014 17:30:07 +0000 -Subject: [PATCH 77/94] [power] hack - Make suspend toggle suspend state +Subject: [PATCH 77/98] [power] hack - Make suspend toggle suspend state --- xbmc/powermanagement/PowerSyscallVirtualSleep.cpp | 5 +++++ @@ -12827,13 +12827,13 @@ index a717a09..d39c3ed 100644 return false; } -- -2.0.3 +2.0.4 -From 3a666a6986826725ccc0cb76da2ded8dd97915ff Mon Sep 17 00:00:00 2001 +From 0c17646f0402a7c85e3d65d01658d65362ba4a2a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 4 Mar 2014 19:33:44 +0000 -Subject: [PATCH 78/94] [power] Add back in powerdown and reboot +Subject: [PATCH 78/98] [power] Add back in powerdown and reboot --- .../linux/RaspberryPIPowerSyscall.cpp | 34 ++++++++++++++++++++++ @@ -12911,13 +12911,13 @@ index fd1d67c..062132e 100644 virtual bool CanReboot() { return true; } -- -2.0.3 +2.0.4 -From 490ff9bb3879df7b815804e196cd816ac985f601 Mon Sep 17 00:00:00 2001 +From 3ff5ea0b890dfc53921f7473ab513ca5c664ae58 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 27 Jun 2014 00:01:05 +0100 -Subject: [PATCH 81/94] [rbp] Resume video output on startup +Subject: [PATCH 81/98] [rbp] Resume video output on startup --- xbmc/linux/RBP.cpp | 3 +++ @@ -12938,13 +12938,13 @@ index e03d673..cea5ac5 100644 m_omx_image_init = true; return true; -- -2.0.3 +2.0.4 -From d3ee6d2b59b31ede0be90649eb5c4d4f3abe8d3d Mon Sep 17 00:00:00 2001 +From e0cfbf171e9a4c69bd67e5b507430ac1f7bad014 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Jul 2014 22:45:43 +0100 -Subject: [PATCH 82/94] [rbp] Make cachemembuffersize default depend on memory +Subject: [PATCH 82/98] [rbp] Make cachemembuffersize default depend on memory size --- @@ -13000,13 +13000,13 @@ index 627080b..d5708ad 100644 // the following setting determines the readRate of a player data // as multiply of the default data read rate -- -2.0.3 +2.0.4 -From 07e85c397dcfc4b53988780a745881868080b649 Mon Sep 17 00:00:00 2001 +From 1100f74f57b5a6bd49b21fcc6509583a182d617e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 27 Jun 2014 00:36:29 +0100 -Subject: [PATCH 83/94] [omxplayer] Experimental support for anaglyph rendering +Subject: [PATCH 83/98] [omxplayer] Experimental support for anaglyph rendering of 3d videos Requires updated firmware @@ -13019,7 +13019,7 @@ Requires updated firmware 5 files changed, 74 insertions(+), 20 deletions(-) diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp -index 87296cd..9617d5a 100644 +index 62b671d..afeeb91 100644 --- a/xbmc/cores/omxplayer/OMXPlayer.cpp +++ b/xbmc/cores/omxplayer/OMXPlayer.cpp @@ -1503,6 +1503,8 @@ void CDVDPlayer::Process() @@ -13288,13 +13288,13 @@ index 64e0d16..8a58893 100644 default: return false; -- -2.0.3 +2.0.4 -From 594b2912dac06c8e10d9cbc4b8e92ff5d3468aba Mon Sep 17 00:00:00 2001 +From ec24d9ad4b3a22fe5a91521825bfd236e20ff764 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 2 Jul 2014 12:24:01 +0100 -Subject: [PATCH 84/94] [settings] Add update flag to omx acceleration +Subject: [PATCH 84/98] [settings] Add update flag to omx acceleration --- system/settings/settings.xml | 3 +++ @@ -13328,13 +13328,13 @@ index 797e91a..c0ca299 100644 settingSet.clear(); -- -2.0.3 +2.0.4 -From 3f7eaeab626d858a303034be7256f7d35129686d Mon Sep 17 00:00:00 2001 +From 3336eb304054aa32121128e0c3cbecfd2ac6ae73 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 2 Jul 2014 20:41:29 +0100 -Subject: [PATCH 85/94] [pi] Reduce time textures are held for when memory is +Subject: [PATCH 85/98] [pi] Reduce time textures are held for when memory is low --- @@ -13344,7 +13344,7 @@ Subject: [PATCH 85/94] [pi] Reduce time textures are held for when memory is 3 files changed, 20 insertions(+) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 48d6afb..9cabb6f 100644 +index 64e2ec5..7997e76 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -345,6 +345,10 @@ @@ -13404,13 +13404,13 @@ index 04ddaa0..3ad2327 100644 bool GetCodecWvc1() { return m_codec_wvc1_enabled; } void GetDisplaySize(int &width, int &height); -- -2.0.3 +2.0.4 -From 052693f67c5255f45f38eea72290edc51af9b382 Mon Sep 17 00:00:00 2001 +From 6b15c342fae9bd19cf56e43bc2bb77ea44b318f3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 5 Jul 2014 19:26:46 +0100 -Subject: [PATCH 86/94] [omxplayer] Explictly choose deinterlace method for +Subject: [PATCH 86/98] [omxplayer] Explictly choose deinterlace method for 1080i As the 1080i deinterlace doesn't require the 3 frames of context we can save ~9MB by requesting it explicitly @@ -13435,13 +13435,13 @@ index b100018..15b62af 100644 OMX_INIT_STRUCTURE(extra_buffers); extra_buffers.nU32 = -2; -- -2.0.3 +2.0.4 -From bded1154d0c265ac19db8d13f35d9451b594086b Mon Sep 17 00:00:00 2001 +From 0faa2094befad4483f035df59faa9ade547e7c25 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 8 Jul 2014 21:00:44 +0100 -Subject: [PATCH 87/94] [omxcodec] Fix 3D rendering for dvdplayer +Subject: [PATCH 87/98] [omxcodec] Fix 3D rendering for dvdplayer Similar to https://github.com/xbmc/xbmc/pull/3887 --- @@ -13505,13 +13505,13 @@ index 53873f6..84a46ec 100644 return true; } -- -2.0.3 +2.0.4 -From c123c7a2876cfe2bc0f36e662c635b9b21847af6 Mon Sep 17 00:00:00 2001 +From a02eba8b07d0165801997cd58e1c4a6941657bbc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 13 Jul 2014 11:28:20 +0100 -Subject: [PATCH 88/94] [ResamplePi] Fix xbmc crash with usb audio when music +Subject: [PATCH 88/98] [ResamplePi] Fix xbmc crash with usb audio when music file switched Need to handle the case where AE requests fewer output samples that are produced. @@ -13659,13 +13659,13 @@ index 47a9e08..b88a90b 100644 } -- -2.0.3 +2.0.4 -From 6c82d36c25c010de686e2e8a7e7598cb9f08682e Mon Sep 17 00:00:00 2001 +From 1b2f8b06f0bc3db1032672e334e390acde10a80b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 10 Aug 2014 16:45:16 +0100 -Subject: [PATCH 91/94] filesystem: Make support of browsing into archives +Subject: [PATCH 91/98] 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. @@ -13735,7 +13735,7 @@ index fb358c1..fdc44fb 100644 diff --git a/xbmc/filesystem/FileDirectoryFactory.cpp b/xbmc/filesystem/FileDirectoryFactory.cpp -index 7fc240886..692c767 100644 +index 2fd8777..3b294cd 100644 --- a/xbmc/filesystem/FileDirectoryFactory.cpp +++ b/xbmc/filesystem/FileDirectoryFactory.cpp @@ -46,6 +46,7 @@ @@ -13764,4 +13764,161 @@ index 7fc240886..692c767 100644 { // XBMC Smart playlist - just XML renamed to XSP // read the name of the playlist in -- -2.0.3 +2.0.4 + + +From 57d7dc731a7abdbee3928c750d8b3e6bb6030360 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 18 Aug 2014 23:16:28 +0100 +Subject: [PATCH 95/98] [omxplayer] Don't flush queued data on general reset + +We were flushing the queue of data to gpu (which can be a number of seconds worth) on a general reset. +However this is generated on inoccuous events like a chapter change in dvd playback. + +This results in a few seconds loss of audio, and a temporary audio/video sync error +--- + xbmc/cores/omxplayer/OMXPlayerAudio.cpp | 1 - + xbmc/cores/omxplayer/OMXPlayerVideo.cpp | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/xbmc/cores/omxplayer/OMXPlayerAudio.cpp b/xbmc/cores/omxplayer/OMXPlayerAudio.cpp +index 37b544c..cc6df28 100644 +--- a/xbmc/cores/omxplayer/OMXPlayerAudio.cpp ++++ b/xbmc/cores/omxplayer/OMXPlayerAudio.cpp +@@ -405,7 +405,6 @@ void OMXPlayerAudio::Process() + CLog::Log(LOGDEBUG, "COMXPlayerAudio - CDVDMsg::GENERAL_RESET"); + if (m_pAudioCodec) + m_pAudioCodec->Reset(); +- m_omxAudio.Flush(); + m_started = false; + m_audioClock = DVD_NOPTS_VALUE; + } +diff --git a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +index 050c62c..5549bea 100644 +--- a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp ++++ b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +@@ -392,7 +392,6 @@ void OMXPlayerVideo::Process() + else if (pMsg->IsType(CDVDMsg::GENERAL_RESET)) + { + CLog::Log(LOGDEBUG, "COMXPlayerVideo - CDVDMsg::GENERAL_RESET"); +- m_omxVideo.Reset(); + m_started = false; + m_nextOverlay = DVD_NOPTS_VALUE; + m_iCurrentPts = DVD_NOPTS_VALUE; +-- +2.0.4 + + +From 19df499b9ba248ca943fd0f0d3c16fde7140b3e9 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 19 Aug 2014 00:53:17 +0100 +Subject: [PATCH 96/98] [dvdplayer] Allow UpdateCorrection to handle audio and + video jumping asynchronously + +This is sequence of timestamps (before correction) from The Grand Budapest Host chapter 3. + +12:07:04 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:0 dts: 95502.94 pts: 95502.94 correction: 0.00 size: 46475 +12:07:04 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 95502.80 pts: 95502.80 correction: 0.00 size: 1792 +12:07:04 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:0 dts: 95502.98 pts: 95502.98 correction: 0.00 size: 47057 +12:07:04 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.12 pts: 59.12 correction: 0.00 size: 1792 +12:07:04 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.12 pts: 59.12 correction: -95443.72 size: 1792 +12:07:04 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:0 dts: 95503.03 pts: 0.00 correction: -95443.72 size: 60924 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.15 pts: 59.15 correction: -95443.72 size: 1792 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.18 pts: 59.18 correction: -95443.72 size: 1792 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:0 dts: 95503.08 pts: 95503.08 correction: -95443.72 size: 46031 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.21 pts: 59.21 correction: -95443.72 size: 1792 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:0 dts: 95503.11 pts: 95503.11 correction: -95443.72 size: 43036 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.25 pts: 59.25 correction: -95443.72 size: 1792 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:0 dts: 95503.14 pts: 0.00 correction: -95443.72 size: 59193 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.28 pts: 59.28 correction: -95443.72 size: 1792 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.31 pts: 59.31 correction: -95443.72 size: 1792 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:2 dts: 59.49 pts: 59.49 correction: -95443.72 size: 4868 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.34 pts: 59.34 correction: -95443.72 size: 1792 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.37 pts: 59.37 correction: -95443.72 size: 1792 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:0 dts: 95503.19 pts: 95503.19 correction: -95443.72 size: 42475 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.41 pts: 59.41 correction: -95443.72 size: 1792 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:0 dts: 59.53 pts: 59.56 correction: -95443.72 size: 49850 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:0 dts: 95503.24 pts: 95503.28 correction: -95443.72 size: 49850 +12:07:08 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.44 pts: 59.44 correction:-190887.44 size: 1792 +12:07:13 T:2730484832 DEBUG: CDVDPlayer::UpdateCorrection - stream:1 dts: 59.47 pts: 59.47 correction:-190887.44 size: 1792 + +Note that audio and video jump at different times. + +At the end of this correction should be -95443.72, but it actually jumps twice to double that. + +The timestamps arriving at PlayerVideo are not continuous, but jump from 95443 to 190887. + +This patch chooses to wait until audio and video have both jumped, and while only one has jumped, it gets timestamps of DVD_NOPTS_VALUE. + +This fixes the problem on my dvd, and appears to also fix this issue: +http://forum.xbmc.org/showthread.php?tid=201944 +--- + xbmc/cores/dvdplayer/DVDPlayer.cpp | 22 ++++++++++++++++------ + xbmc/cores/dvdplayer/DVDPlayer.h | 2 ++ + xbmc/cores/omxplayer/OMXPlayer.cpp | 22 ++++++++++++++++------ + xbmc/cores/omxplayer/OMXPlayer.h | 2 ++ + 4 files changed, 36 insertions(+), 12 deletions(-) + +diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp +index afeeb91..d007d7d 100644 +--- a/xbmc/cores/omxplayer/OMXPlayer.cpp ++++ b/xbmc/cores/omxplayer/OMXPlayer.cpp +@@ -596,6 +596,8 @@ bool CDVDPlayer::OpenFile(const CFileItem& file, const CPlayerOptions &options) + m_State.Clear(); + m_UpdateApplication = 0; + m_offset_pts = 0; ++ m_CurrentAudio.correction = 0.0; ++ m_CurrentVideo.correction = 0.0; + + m_PlayerOptions = options; + m_item = file; +@@ -2399,12 +2401,20 @@ return; + + if(correction != 0.0) + { +- /* disable detection on next packet on other stream to avoid ping pong-ing */ +- if(m_CurrentAudio.player != current.player) m_CurrentAudio.dts = DVD_NOPTS_VALUE; +- if(m_CurrentVideo.player != current.player) m_CurrentVideo.dts = DVD_NOPTS_VALUE; +- +- m_offset_pts += correction; +- UpdateCorrection(pPacket, correction); ++ current.correction = correction; ++ if (m_CurrentAudio.correction != 0.0 && m_CurrentVideo.correction != 0.0 && fabs(m_CurrentAudio.correction - m_CurrentVideo.correction) < DVD_MSEC_TO_TIME(1000)) ++ { ++ m_offset_pts += correction; ++ UpdateCorrection(pPacket, correction); ++ m_CurrentAudio.correction = 0.0; ++ m_CurrentVideo.correction = 0.0; ++ } ++ else ++ { ++ // not sure yet - flags the packets as unknown until we get confirmation on another audio/video packet ++ pPacket->dts = DVD_NOPTS_VALUE; ++ pPacket->pts = DVD_NOPTS_VALUE; ++ } + } + } + +diff --git a/xbmc/cores/omxplayer/OMXPlayer.h b/xbmc/cores/omxplayer/OMXPlayer.h +index 7c1b34d..8e343c7 100644 +--- a/xbmc/cores/omxplayer/OMXPlayer.h ++++ b/xbmc/cores/omxplayer/OMXPlayer.h +@@ -72,6 +72,7 @@ class COMXCurrentStream + const int player; + // stuff to handle starting after seek + double startpts; ++ double correction; + + COMXCurrentStream(StreamType t, int i) + : type(t) +@@ -93,6 +94,7 @@ class COMXCurrentStream + inited = false; + started = false; + startpts = DVD_NOPTS_VALUE; ++ correction = 0.0; + } + + double dts_end() +-- +2.0.4 +