diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py index ba134decd2..b24f34feb4 100644 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py +++ b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py @@ -59,7 +59,7 @@ if sabNzbdLaunch: sabNzbdApiKey = sabConfiguration['misc']['api_key'] sabNzbdUser = sabConfiguration['misc']['username'] sabNzbdPass = sabConfiguration['misc']['password'] - sabNzbdQueue = 'http://' + sabNzbdAddress + '/sabnzbd/api?mode=queue&output=xml&apikey=' + sabNzbdApiKey + '&ma_username=' + sabNzbdUser + '&ma_password=' + sabNzbdUser + sabNzbdQueue = 'http://' + sabNzbdAddress + '/api?mode=queue&output=xml&apikey=' + sabNzbdApiKey + '&ma_username=' + sabNzbdUser + '&ma_password=' + sabNzbdPass # start checking SABnzbd for activity and prevent sleeping if necessary socket.setdefaulttimeout(timeout) @@ -83,29 +83,30 @@ while (not xbmc.abortRequested): wakeHourIdx = int(__settings__.getSetting('SABNZBD_WAKE_AT')) # check if SABnzbd is downloading - sabIsActive = False - req = urllib2.Request(sabNzbdQueue) - try: handle = urllib2.urlopen(req) - except IOError, e: - xbmc.log('SABnzbd-Suite: could not determine SABnzbds status', level=xbmc.LOGERROR) - else: - queue = handle.read() - handle.close() - sabIsActive = (queue.find('Downloading') >= 0) + if shouldKeepAwake: + sabIsActive = False + req = urllib2.Request(sabNzbdQueue) + try: handle = urllib2.urlopen(req) + except IOError, e: + xbmc.log('SABnzbd-Suite: could not determine SABnzbds status', level=xbmc.LOGERROR) + else: + queue = handle.read() + handle.close() + sabIsActive = (queue.find('Downloading') >= 0) - # reset idle timer when we're close to idle sleep/shutdown - if (shouldKeepAwake and sabIsActive): - response = xbmc.executehttpapi("GetGUISetting(0;powermanagement.shutdowntime)").replace('
  • ','') - shutdownTime = int(response) * 60 - idleTime = xbmc.getGlobalIdleTime() - timeToShutdown = shutdownTime - idleTime + # reset idle timer when we're close to idle sleep/shutdown + if sabIsActive: + response = xbmc.executehttpapi("GetGUISetting(0;powermanagement.shutdowntime)").replace('
  • ','') + shutdownTime = int(response) * 60 + idleTime = xbmc.getGlobalIdleTime() + timeToShutdown = shutdownTime - idleTime - if (sabIsActive and timeToShutdown <= checkInterval - timeout): - xbmc.log('SABnzbd-Suite: still downloading. Resetting XBMC idle timer.') - xbmc.executehttpapi("SendKey(0xF000)") + if (timeToShutdown <= checkInterval - timeout): + xbmc.log('SABnzbd-Suite: still downloading. Resetting XBMC idle timer.') + xbmc.executehttpapi("SendKey(0xF000)") # calculate and set the time to wake up at (if any) - if (wakePeriodically): + if wakePeriodically: wakeHour = wakeHourIdx * 2 + 1 timeOfDay = datetime.time(hour=wakeHour) now = datetime.datetime.now() diff --git a/packages/linux/patches/linux-900-hide_tsc_error.patch b/packages/linux/patches/linux-900-hide_tsc_error.patch new file mode 100755 index 0000000000..61b73b69b0 --- /dev/null +++ b/packages/linux/patches/linux-900-hide_tsc_error.patch @@ -0,0 +1,12 @@ +diff -uNr linux-3.6.4-orig/arch/x86/kernel/tsc.c linux-3.6.4-new/arch/x86/kernel/tsc.c +--- linux-3.6.4-orig/arch/x86/kernel/tsc.c 2012-11-03 14:19:55.000000000 +0100 ++++ linux-3.6.4-new/arch/x86/kernel/tsc.c 2012-11-03 14:23:05.000000000 +0100 +@@ -374,7 +374,7 @@ + goto success; + } + } +- pr_err("Fast TSC calibration failed\n"); ++ pr_info("Fast TSC calibration failed\n"); + return 0; + + success: diff --git a/packages/mediacenter/xbmc/patches.x86/xbmc-801-xvba_support-ae08a23.patch b/packages/mediacenter/xbmc/patches.x86/xbmc-801-xvba_support-1ea917e.patch similarity index 98% rename from packages/mediacenter/xbmc/patches.x86/xbmc-801-xvba_support-ae08a23.patch rename to packages/mediacenter/xbmc/patches.x86/xbmc-801-xvba_support-1ea917e.patch index 97565b8864..ac7780f5c2 100644 --- a/packages/mediacenter/xbmc/patches.x86/xbmc-801-xvba_support-ae08a23.patch +++ b/packages/mediacenter/xbmc/patches.x86/xbmc-801-xvba_support-1ea917e.patch @@ -1,7 +1,7 @@ From bfd49543c49747236d401df4351767d584f756ac Mon Sep 17 00:00:00 2001 From: wsnipex Date: Sun, 4 Nov 2012 14:05:52 +0100 -Subject: [PATCH 01/72] configure: add --enable-pvraddons-with-dependencies +Subject: [PATCH 01/73] configure: add --enable-pvraddons-with-dependencies switch for intree building of PVR Addons --- @@ -51,7 +51,7 @@ index 4769315..350d960 100644 From dc83e2351e8bf8e904102782ea489d2c8caa2802 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:03:31 +0200 -Subject: [PATCH 02/72] VideoRenerers: add buffering +Subject: [PATCH 02/73] VideoRenerers: add buffering --- xbmc/Application.cpp | 3 + @@ -1037,7 +1037,7 @@ index 3008c25..a4bb1ba 100644 From dacc0167c993efa6ac884fd3c439fc5f0c823934 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 2 Oct 2012 10:49:09 +0200 -Subject: [PATCH 03/72] linuxrenderer: delete all textures on reconfigure +Subject: [PATCH 03/73] linuxrenderer: delete all textures on reconfigure --- xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 2 +- @@ -1063,7 +1063,7 @@ index b32a7ea..a2dc2be 100644 From 226539d21ba940ea8add89417df7102302c7ba79 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:17:33 +0200 -Subject: [PATCH 04/72] drop frame counter in application, ask render manager +Subject: [PATCH 04/73] drop frame counter in application, ask render manager instead --- @@ -1245,7 +1245,7 @@ index 34ff8d0..288175e 100644 From 0f81843cb7279f3b99607551967354ff30e15e4d Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:34:39 +0200 -Subject: [PATCH 05/72] videoplayer: adopt lateness detection and dropping to +Subject: [PATCH 05/73] videoplayer: adopt lateness detection and dropping to buffering --- @@ -1787,7 +1787,7 @@ index fe7e12c..4913712 100644 From 4bc6ff77b121468020578f9d393e8aaae1a419f6 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:41:31 +0200 -Subject: [PATCH 06/72] videoplayer: update frametime, it might change due to +Subject: [PATCH 06/73] videoplayer: update frametime, it might change due to fps detection --- @@ -1814,7 +1814,7 @@ index 93908a7..4675556 100644 From 723a731d68b9360f9804e8711255afa62c4ce34d Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:43:06 +0200 -Subject: [PATCH 07/72] videoplayer: give streams with invalid fps a chance +Subject: [PATCH 07/73] videoplayer: give streams with invalid fps a chance for fps detection --- @@ -1841,7 +1841,7 @@ index 4675556..2ef6358 100644 From 60c955c30cdfcf361396e47fc92a1e1883b085fe Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:49:05 +0200 -Subject: [PATCH 08/72] dvdplayer: allow rewinding at end of stream, do a seek +Subject: [PATCH 08/73] dvdplayer: allow rewinding at end of stream, do a seek after rewind --- @@ -1881,7 +1881,7 @@ index 315d64a..6fcb6b3 100644 From 8d237cf023501560fc394679819463034a209413 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 2 Sep 2012 16:05:21 +0200 -Subject: [PATCH 09/72] video player: present correct pts to user for a/v sync +Subject: [PATCH 09/73] video player: present correct pts to user for a/v sync (after buffering in renderer) --- @@ -1975,7 +1975,7 @@ index 4913712..509d5f7 100644 From 04a6a8b4ca29c17da6bbb9591685922b2f6f1442 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 11:02:29 +0200 -Subject: [PATCH 10/72] vaapi: adopt to buffering in renderer +Subject: [PATCH 10/73] vaapi: adopt to buffering in renderer --- xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 2 +- @@ -2036,7 +2036,7 @@ index 863edc4..417cbc0 100644 From 4d237410264bbff9c4ac373de498f80ecb15f7a3 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 7 Apr 2012 09:19:00 +0200 -Subject: [PATCH 11/72] vdpau: redesign +Subject: [PATCH 11/73] vdpau: redesign --- language/English/strings.po | 12 +- @@ -8199,7 +8199,7 @@ index e7af3cb..2dd8a9f 100644 From c088467d9d0955051a510dadbddb270ddc3e3c20 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 25 Sep 2012 12:14:15 +0200 -Subject: [PATCH 12/72] linuxrenderer: drop method RenderMultiPass +Subject: [PATCH 12/73] linuxrenderer: drop method RenderMultiPass --- xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 9 ++------- @@ -8252,7 +8252,7 @@ index 3218cd5..afc78c2 100644 From 0de3939247a63509e6bfab2e77c298eaa28aa29c Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 25 Sep 2012 13:20:47 +0200 -Subject: [PATCH 13/72] linuxrenderer: implement progressive weave for vdpau +Subject: [PATCH 13/73] linuxrenderer: implement progressive weave for vdpau --- xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 55 ++++++++++++++++++------- @@ -8383,7 +8383,7 @@ index afc78c2..2fc34ae 100644 From c12380f4b9c9c2671bfd1ebd3e29ba7cd83ac95e Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 15:22:05 +0200 -Subject: [PATCH 14/72] X11: ditch SDL for video and window events +Subject: [PATCH 14/73] X11: ditch SDL for video and window events --- xbmc/Application.cpp | 2 +- @@ -9870,7 +9870,7 @@ index 2dd8a9f..9616d17 100644 From 58fa894afaffbc990ee1ab87ff55db30e36ab2c2 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 15:24:22 +0200 -Subject: [PATCH 15/72] X11: Add xbmc icon +Subject: [PATCH 15/73] X11: Add xbmc icon --- xbmc/windowing/X11/WinSystemX11.cpp | 126 ++++++++++++++++++++++++++++++++++- @@ -10062,7 +10062,7 @@ index 9616d17..debf714 100644 From cad2ac7f357906f10f100a038ff28e83a69c68e8 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 20 May 2012 14:11:26 +0200 -Subject: [PATCH 16/72] X11: add SDL joystick until we have a better solution +Subject: [PATCH 16/73] X11: add SDL joystick until we have a better solution --- xbmc/windowing/WinEventsX11.cpp | 26 ++++++++++++++++++++++++++ @@ -10119,7 +10119,7 @@ index 24477ae..2ec86a8 100644 From fdefd4cf296518f31ad1165268fccd651e08dd3c Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Thu, 5 Jul 2012 12:35:55 +0200 -Subject: [PATCH 17/72] X11: factor out code handling device reset +Subject: [PATCH 17/73] X11: factor out code handling device reset notification --- @@ -10186,7 +10186,7 @@ index debf714..8c28e3f 100644 From 9a409794d1eb8ee0c4b0b1124dea7dd30af32c06 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 15:02:00 +0200 -Subject: [PATCH 18/72] X11: move xrandr events to WinEventsX11 +Subject: [PATCH 18/73] X11: move xrandr events to WinEventsX11 --- xbmc/windowing/WinEventsX11.cpp | 42 +++++++++++++++++++++++++++++++++++ @@ -10333,7 +10333,7 @@ index 70557d0..1cce843 100644 From 1dc579a2d5c608cfd4f799971759d18cbd2957e5 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 12 Apr 2012 15:43:56 +0200 -Subject: [PATCH 19/72] xrandr: remove method RestoreState +Subject: [PATCH 19/73] xrandr: remove method RestoreState --- xbmc/windowing/X11/WinSystemX11.cpp | 13 +++++++++++-- @@ -10415,7 +10415,7 @@ index 2a269d0..5b64633 100644 From 4a6f0e986fc27b356041a4b1bb989e0e594c8aa7 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 20 May 2012 13:17:10 +0200 -Subject: [PATCH 20/72] xrandr: observe orientation +Subject: [PATCH 20/73] xrandr: observe orientation --- xbmc/windowing/X11/WinSystemX11.cpp | 61 +++++++++++++++++++++++++++++++++-- @@ -10587,7 +10587,7 @@ index 5b64633..618bd68 100644 From 97e5811e05a4ecde7249b2f76283729ff300fda9 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:54:15 +0200 -Subject: [PATCH 21/72] xrandr: allow getting info for multiple screen's +Subject: [PATCH 21/73] xrandr: allow getting info for multiple screen's Refactored by: Joakim Plate --- @@ -10765,7 +10765,7 @@ index 618bd68..0824af5 100644 From 2b379b9ce21b6d61b44b647b79ef3587dbbcf0ec Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:44:00 +0200 -Subject: [PATCH 22/72] X11: fix multi-head setups +Subject: [PATCH 22/73] X11: fix multi-head setups --- language/English/strings.po | 4 +- @@ -11500,7 +11500,7 @@ index 93cf5db..71034fc 100644 From 2a747f13a0a50dea0883d0d3c701ef290235a99b Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:36:32 +0200 -Subject: [PATCH 23/72] X11: remove all DefaultScreen and RootWindow macros +Subject: [PATCH 23/73] X11: remove all DefaultScreen and RootWindow macros --- xbmc/windowing/X11/WinSystemX11.cpp | 6 +++--- @@ -11571,7 +11571,7 @@ index f858f88..d192697 100644 From cf018ebbf1eae8f5ae2914ef347aac5f963c0d71 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:45:22 +0200 -Subject: [PATCH 24/72] X11: remove all DefaultScreen and RootWindow macros +Subject: [PATCH 24/73] X11: remove all DefaultScreen and RootWindow macros (VideoRefClock) Note this is on a separate display connection. @@ -11646,7 +11646,7 @@ index 9785fe7..0004e07 100644 From 5d8bfcd52e5a189515629c15c73434ef6c6bcc88 Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 20 Jun 2012 17:37:11 +0200 -Subject: [PATCH 25/72] X11: recreate gl context after output has changed +Subject: [PATCH 25/73] X11: recreate gl context after output has changed --- xbmc/windowing/X11/WinSystemX11.cpp | 24 ++++++++++++++---------- @@ -11800,7 +11800,7 @@ index d192697..0f2d1d2 100644 From bd9a29b7661c75152174959f9f269f32c13a658b Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 12:06:25 +0200 -Subject: [PATCH 26/72] X11: hook video reference clock in windowing +Subject: [PATCH 26/73] X11: hook video reference clock in windowing --- xbmc/video/VideoReferenceClock.cpp | 71 ++++++++++++++++++++++++++---------- @@ -12008,7 +12008,7 @@ index dcc4f09..7eb6317 100644 From 702f79eab647ec68030c99d6113976f3c602e87c Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 21 Jun 2012 17:26:51 +0200 -Subject: [PATCH 27/72] X11: fix video calibrations +Subject: [PATCH 27/73] X11: fix video calibrations --- xbmc/settings/Settings.cpp | 1 + @@ -12116,7 +12116,7 @@ index cc28f56..c046c86 100644 From 07920e322c9770ebb99becd104ebce0789c502fa Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 12:00:26 +0200 -Subject: [PATCH 28/72] X11: deactivate screen saver on startup +Subject: [PATCH 28/73] X11: deactivate screen saver on startup --- xbmc/windowing/X11/WinSystemX11.cpp | 29 +++++++++++++++++++++++++++++ @@ -12189,7 +12189,7 @@ index c046c86..e953d2d 100644 From 835bcc9c7fd477012492ffc4cad2bdd9ce506064 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 12:10:09 +0200 -Subject: [PATCH 29/72] X11: change method of going full-screen +Subject: [PATCH 29/73] X11: change method of going full-screen --- xbmc/windowing/X11/WinSystemX11.cpp | 9 ++++++++- @@ -12236,7 +12236,7 @@ index b3e7ab5..91f92c1 100644 From e2442797ff82b3ed8053f1a6422863ffce9cbe5f Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 28 Jun 2012 19:12:39 +0200 -Subject: [PATCH 30/72] X11: reset key repeat and key modifier on focus lost +Subject: [PATCH 30/73] X11: reset key repeat and key modifier on focus lost and gain --- @@ -12271,7 +12271,7 @@ index 6c22358..d86205d 100644 From 77a22163a7f611e9183b7cd0b817fc51a42d45de Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Thu, 5 Jul 2012 14:18:46 +0200 -Subject: [PATCH 31/72] X11: replace custom utf8 to unicode with charset +Subject: [PATCH 31/73] X11: replace custom utf8 to unicode with charset convertor (squash to x11 events) --- @@ -12491,7 +12491,7 @@ index 6100933..72955ad 100644 From e060b3197bbac54b79b604bbbf9a8e86257980f5 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Thu, 5 Jul 2012 14:23:54 +0200 -Subject: [PATCH 32/72] X11: fixed invalid usage of sizeof() (squash into x11 +Subject: [PATCH 32/73] X11: fixed invalid usage of sizeof() (squash into x11 changes) --- @@ -12558,7 +12558,7 @@ index 72955ad..102a076 100644 From c52af3ba68292f08331cbbbc940dfcea838a2f44 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 9 Jun 2012 18:23:53 +0200 -Subject: [PATCH 33/72] add missing keys to xbmc keytable +Subject: [PATCH 33/73] add missing keys to xbmc keytable --- xbmc/input/XBMC_keytable.cpp | 2 ++ @@ -12584,7 +12584,7 @@ index aaf65ba..9d7922f 100644 From 25587ee807eca2fc9dde4528e3fc930b337e38b0 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 16 Mar 2012 15:57:51 +0100 -Subject: [PATCH 34/72] videorefclock: temp deactivate of nv settings +Subject: [PATCH 34/73] videorefclock: temp deactivate of nv settings --- xbmc/video/VideoReferenceClock.cpp | 2 +- @@ -12610,7 +12610,7 @@ index fa8e35a..85e36c7 100644 From 4f8a95de09408321e2df3da891536c314fe3b4d2 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 20 Aug 2012 09:09:09 +0200 -Subject: [PATCH 35/72] videorefclock: ask graphics context for refresh rate +Subject: [PATCH 35/73] videorefclock: ask graphics context for refresh rate --- xbmc/video/VideoReferenceClock.cpp | 3 ++- @@ -12644,7 +12644,7 @@ index 85e36c7..8209163 100644 From 85d81f0c933cb0a75c2c21de86b4065e3db86002 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 9 Jul 2012 14:00:18 +0200 -Subject: [PATCH 36/72] X11: fix icon texture after +Subject: [PATCH 36/73] X11: fix icon texture after cc5ed3c2474084ebc0373a3046410e6f766e03f4 --- @@ -12755,7 +12755,7 @@ index 91f92c1..174ccef 100644 From 111c2f8fd0f6b698fbff0fda6dc6c17ce3644626 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 10 Jul 2012 11:14:12 +0200 -Subject: [PATCH 37/72] X11: check for window manager +Subject: [PATCH 37/73] X11: check for window manager --- xbmc/windowing/X11/WinSystemX11.cpp | 74 ++++++++++++++++++++++++++++++++++- @@ -12879,7 +12879,7 @@ index e953d2d..0b7c10a 100644 From f1051e1991e5ef5d83ce428b841ac365082042ec Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 12 Jul 2012 11:11:47 +0200 -Subject: [PATCH 38/72] X11: dont set window on xrandr if no mode available +Subject: [PATCH 38/73] X11: dont set window on xrandr if no mode available --- xbmc/windowing/X11/WinSystemX11.cpp | 11 ++++++----- @@ -12919,7 +12919,7 @@ index 4f1ae26..c11ea89 100644 From 83b9c33e88077d957884ee22316c218e570dc3d5 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 26 Jul 2012 09:34:28 +0200 -Subject: [PATCH 39/72] X11: fix crash after a resolution change on startup +Subject: [PATCH 39/73] X11: fix crash after a resolution change on startup --- xbmc/windowing/X11/WinSystemX11.cpp | 3 ++- @@ -12946,7 +12946,7 @@ index c11ea89..0bd72d4 100644 From b8956ed57f1b683ae79d7306c7461a31c894e9a9 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 15 Sep 2012 18:27:29 +0200 -Subject: [PATCH 40/72] X11: lock graphics context in NotifyXRREvent +Subject: [PATCH 40/73] X11: lock graphics context in NotifyXRREvent --- xbmc/windowing/X11/WinSystemX11.cpp | 2 ++ @@ -12972,7 +12972,7 @@ index 0bd72d4..ef83133 100644 From aed5d244b81b1a0b171b7fea3b332decafc96c56 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 8 Oct 2011 16:45:13 +0200 -Subject: [PATCH 41/72] ffmpeg: add xvba hwaccel +Subject: [PATCH 41/73] ffmpeg: add xvba hwaccel --- lib/ffmpeg/configure | 8 ++ @@ -13842,7 +13842,7 @@ index f0d9c01..0f8cf7b 100644 From 922cada27e255bc3f685b700c2ffa4a146f87624 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 12 Apr 2012 12:09:31 +0200 -Subject: [PATCH 42/72] xvba: add decoder +Subject: [PATCH 42/73] xvba: add decoder --- configure.in | 48 + @@ -17292,7 +17292,7 @@ index f25d10d..f6b1ea4 100644 From 517eda0bf58a6376a82839ab92e51b97c143edf1 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 23 Aug 2012 19:39:49 +0200 -Subject: [PATCH 43/72] ffmpeg: add av_find_default_stream_index to interface +Subject: [PATCH 43/73] ffmpeg: add av_find_default_stream_index to interface --- lib/DllAvFormat.h | 4 ++++ @@ -17341,7 +17341,7 @@ index 9bda3f3..bf31fcb 100644 From 23be471842ae9ea7bd62c18261a5e96a11045d04 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 20 Aug 2012 16:06:39 +0200 -Subject: [PATCH 44/72] dvdplayer: observe pts counter overflow +Subject: [PATCH 44/73] dvdplayer: observe pts counter overflow --- .../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 198 +++++++++++++++++++- @@ -17630,7 +17630,7 @@ index 2b5f2e8..e0acf29 100644 From 66382788a903f99ba317e972ba0445fc68320750 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 2 Oct 2012 13:02:10 +0200 -Subject: [PATCH 45/72] dvdplayer: avoid short screen flicker caused by +Subject: [PATCH 45/73] dvdplayer: avoid short screen flicker caused by unnecessary reconfigure of renderer --- @@ -17666,7 +17666,7 @@ index e5e71f3..8b02d81 100644 From 04f4521c1938a7ac17acd59f3bd6be59c7ba8184 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 16 Jun 2012 12:46:30 +0200 -Subject: [PATCH 46/72] xvba: do not use vaapi if xvba is present +Subject: [PATCH 46/73] xvba: do not use vaapi if xvba is present --- xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 9 +++++++++ @@ -17699,7 +17699,7 @@ index a2b9195..43a05b3 100644 From a133b7fa119e859ec50b9f05a33de984105234f3 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 11 Oct 2012 12:05:50 +0200 -Subject: [PATCH 47/72] vdpau: advanced settings for auto deinterlacing +Subject: [PATCH 47/73] vdpau: advanced settings for auto deinterlacing --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 8 ++++---- @@ -17768,7 +17768,7 @@ index 72718e5..aaa4702 100644 From 62540aeaa356823bd34e9367ac39eef23a6e4ce4 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 11 Oct 2012 13:01:08 +0200 -Subject: [PATCH 48/72] dvdplayer: correct determination if video is playing +Subject: [PATCH 48/73] dvdplayer: correct determination if video is playing --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 11 +++++++++-- @@ -17804,7 +17804,7 @@ index 6fcb6b3..f76691d 100644 From 5a093bbd60d1ca47ed7c5e4639f28dafc1b565c1 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 14 Oct 2012 13:46:54 +0200 -Subject: [PATCH 49/72] rendermanager: fix stuttering in non full-screen mode, +Subject: [PATCH 49/73] rendermanager: fix stuttering in non full-screen mode, squash to add buffering --- @@ -17833,7 +17833,7 @@ index 0506823..b141c80 100644 From d0597caa2c922575efdf081d719d5665c626ffec Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 14 Oct 2012 17:54:02 +0200 -Subject: [PATCH 50/72] rendermanager: forgot to set flip event if buffering +Subject: [PATCH 50/73] rendermanager: forgot to set flip event if buffering is not used --- @@ -17879,7 +17879,7 @@ index b141c80..9290f80 100644 From c485392afa608bfbcf903fa53a9dd824258c96dd Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 26 Oct 2012 15:30:22 +0200 -Subject: [PATCH 51/72] vdpau: fix small mem leak +Subject: [PATCH 51/73] vdpau: fix small mem leak --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 2 ++ @@ -17905,7 +17905,7 @@ index d95797b..fec4b88 100644 From 9d7228a84013e409149d7b05d34545d1bdf06e27 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 29 Oct 2012 18:25:56 +0100 -Subject: [PATCH 52/72] xvba: do not render if there is no valid texture +Subject: [PATCH 52/73] xvba: do not render if there is no valid texture --- xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 8 +++----- @@ -17942,7 +17942,7 @@ index ec3606a..7c3adcb 100644 From 85be082db41b27cdd3824b8360dc021e17a84c22 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 2 Nov 2012 13:20:03 +0100 -Subject: [PATCH 53/72] player: fix rewind +Subject: [PATCH 53/73] player: fix rewind --- xbmc/cores/dvdplayer/DVDMessage.h | 5 ++++- @@ -18190,7 +18190,7 @@ index 509d5f7..7cddda7 100644 From 024ecda241754f02ad985fab9116e33b06b8d174 Mon Sep 17 00:00:00 2001 From: fritsch Date: Fri, 2 Nov 2012 17:56:12 +0100 -Subject: [PATCH 54/72] xvba: do not create decoder for surfaces larger than +Subject: [PATCH 54/73] xvba: do not create decoder for surfaces larger than width 2048 or height 1536 --- @@ -18230,7 +18230,7 @@ index e8e376a..b73c48a 100644 From 98ebb0d0232cf4a7ea2082f9f16e210a39e983e8 Mon Sep 17 00:00:00 2001 From: fritsch Date: Sun, 4 Nov 2012 16:24:10 +0100 -Subject: [PATCH 55/72] xvba: add string for available decoders - we are +Subject: [PATCH 55/73] xvba: add string for available decoders - we are important so make sure we are there --- @@ -18260,7 +18260,7 @@ index 0cea7a9..6fb74b7 100644 From 84e701f7db6603a2942611d5c74ba645c625ec0d Mon Sep 17 00:00:00 2001 From: fritsch Date: Thu, 22 Nov 2012 21:32:21 +0100 -Subject: [PATCH 56/72] xvba: revisit Artefacts. There are more broken video +Subject: [PATCH 56/73] xvba: revisit Artefacts. There are more broken video files out there --- @@ -18297,7 +18297,7 @@ index a077442..87af687 100644 From afd776e3e90a1787ce4c3392266d70368de4e164 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 23 Nov 2012 09:42:02 +0100 -Subject: [PATCH 57/72] xvba: reactivate accidently disabled +Subject: [PATCH 57/73] xvba: reactivate accidently disabled IsDecodingFinished --- @@ -18324,7 +18324,7 @@ index b73c48a..47ff25f 100644 From 37576c15f9e3a0c2dce593e9d9cb5a7863845de7 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 23 Nov 2012 17:41:12 +0100 -Subject: [PATCH 58/72] xrandr: fix query for multiple screens +Subject: [PATCH 58/73] xrandr: fix query for multiple screens --- xbmc/windowing/X11/XRandR.cpp | 10 ++++++---- @@ -18368,7 +18368,7 @@ index cc933b9..533e03d 100644 From bd5d572c69ee254beedb5e9339831652943ea8b4 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 2 Dec 2012 15:46:55 +0100 -Subject: [PATCH 59/72] X11: add debug log to print out refresh after xrr +Subject: [PATCH 59/73] X11: add debug log to print out refresh after xrr event --- @@ -18399,7 +18399,7 @@ index ef83133..76c6362 100644 From d418ae1053a3842eb3e6a3bbd84666a5ee3defe2 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 11 Dec 2012 11:08:13 +0100 -Subject: [PATCH 60/72] X11: dont call XCloseDisplay on shutdown, it crashes +Subject: [PATCH 60/73] X11: dont call XCloseDisplay on shutdown, it crashes when powered doen by cec on ATI --- @@ -18427,7 +18427,7 @@ index 76c6362..e4e25b2 100644 From 3b700401e9aace50b5ce6c5d7ba2a2e33bb5217f Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 12 Dec 2012 09:52:17 +0100 -Subject: [PATCH 61/72] vdpau: make interop gl default and remove setting, +Subject: [PATCH 61/73] vdpau: make interop gl default and remove setting, rename and intvert interop yuv --- @@ -18585,7 +18585,7 @@ index 3c19a06..b9f18e4 100644 From a060312a4e236858bf3c9a97d663c5643796b649 Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 12 Dec 2012 18:34:47 +0100 -Subject: [PATCH 62/72] vdpau: drop studio level conversion +Subject: [PATCH 62/73] vdpau: drop studio level conversion --- language/English/strings.po | 6 +- @@ -18771,7 +18771,7 @@ index a4bd524..67aeec9 100644 From 6d03704ce1cbc7d09d684da1ced478b2b59c0b35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Coutant?= Date: Wed, 12 Dec 2012 19:49:47 +0100 -Subject: [PATCH 63/72] x11: support for multiple x screens +Subject: [PATCH 63/73] x11: support for multiple x screens --- xbmc/windowing/X11/XRandR.cpp | 2 +- @@ -18797,7 +18797,7 @@ index 533e03d..7a16488 100644 From 597c8449084e1e5ebfebfb31db570f7826d06517 Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 12 Dec 2012 20:28:49 +0100 -Subject: [PATCH 64/72] vdpau: observe ffmpeg tags for color space +Subject: [PATCH 64/73] vdpau: observe ffmpeg tags for color space --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 38 ++++++++++++++++-------- @@ -18904,7 +18904,7 @@ index 4d1559c..471ad68 100644 From 3f9308d76025ef1e31923fa9a06587f75c00f870 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 20 Dec 2012 19:35:38 +0100 -Subject: [PATCH 65/72] fix compile error after recent change +Subject: [PATCH 65/73] fix compile error after recent change --- xbmc/settings/GUIWindowSettingsCategory.cpp | 2 +- @@ -18930,7 +18930,7 @@ index b9f18e4..cacb32a 100644 From 213792b2678760d42740d581a1ee71e186a31c4d Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 24 Dec 2012 16:02:42 +0100 -Subject: [PATCH 66/72] pvr: increase changes counter of stream on stream +Subject: [PATCH 66/73] pvr: increase changes counter of stream on stream change, cosmetics after dd307930d39d92f145a01a16600cd00e01ec39be @@ -18968,7 +18968,7 @@ index 8c984f6..034e545 100644 From e810d3bd68e89e800fba217e88184c2df0fe4040 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 17 Jan 2013 16:03:22 +0100 -Subject: [PATCH 67/72] X11: add keymapping for XF86XK_Sleep +Subject: [PATCH 67/73] X11: add keymapping for XF86XK_Sleep --- xbmc/windowing/WinEventsX11.cpp | 1 + @@ -18993,7 +18993,7 @@ index c31877e..ed31c04 100644 From 2cb807b2f801f06723cde1bdd636550c08fc08ab Mon Sep 17 00:00:00 2001 From: fritsch Date: Sat, 12 Jan 2013 13:03:50 +0100 -Subject: [PATCH 68/72] dvdplayer: Allow multithread decoding for hi10p +Subject: [PATCH 68/73] dvdplayer: Allow multithread decoding for hi10p content by default This allows decoding of some hi10p material on e.g. AMD Fusion with @@ -19101,7 +19101,7 @@ index aaa4702..863e4f3 100644 From 5e52fa15742e1300ac394738ead4ca2792c4812c Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 21 Jan 2013 09:00:19 +0100 -Subject: [PATCH 69/72] X11: remove toggle full screen after resume +Subject: [PATCH 69/73] X11: remove toggle full screen after resume --- xbmc/powermanagement/PowerManager.cpp | 5 ----- @@ -19130,7 +19130,7 @@ index a5534c9..7e2ddc6 100644 From e8f3e20dfb3bde4434e2aea69b34e22ba1859a31 Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 23 Jan 2013 17:03:02 +0100 -Subject: [PATCH 70/72] xrandr: set screen on mode change command +Subject: [PATCH 70/73] xrandr: set screen on mode change command --- xbmc/windowing/X11/XRandR.cpp | 2 +- @@ -19156,7 +19156,7 @@ index 7a16488..6531ba3 100644 From f229dba603070e1f0528d395c9d5d63f9044ae6e Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 23 Jan 2013 17:03:39 +0100 -Subject: [PATCH 71/72] X11: recreate glx context when output changes +Subject: [PATCH 71/73] X11: recreate glx context when output changes --- xbmc/windowing/X11/WinSystemX11.cpp | 6 +++--- @@ -19210,7 +19210,7 @@ index 0b7c10a..33b1739 100644 From ae08a23a2f4fd78139e2ebca8a4a87ab619feb0b Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 27 Jan 2013 12:10:19 +0100 -Subject: [PATCH 72/72] vdpau: switch off de-interlacing on ff +Subject: [PATCH 72/73] vdpau: switch off de-interlacing on ff --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 5 +++-- @@ -19235,3 +19235,61 @@ index 8858614..3e21d9d 100644 -- 1.7.10 + +From 1ea917e026e8c5df15de6ce6276cba9e58d09d3d Mon Sep 17 00:00:00 2001 +From: xbmc +Date: Sat, 2 Feb 2013 13:17:09 +0100 +Subject: [PATCH 73/73] vdpau: fix mp4 part2 decoding, activate by default + +--- + xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 8 ++------ + xbmc/settings/AdvancedSettings.cpp | 2 +- + 2 files changed, 3 insertions(+), 7 deletions(-) + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +index 3e21d9d..524efae 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp +@@ -127,10 +127,9 @@ bool CDecoder::Open(AVCodecContext* avctx, const enum PixelFormat, unsigned int + VdpDecoderProfile profile = 0; + if(avctx->codec_id == CODEC_ID_H264) + profile = VDP_DECODER_PROFILE_H264_HIGH; +-#ifdef VDP_DECODER_PROFILE_MPEG4_PART2_ASP + else if(avctx->codec_id == CODEC_ID_MPEG4) + profile = VDP_DECODER_PROFILE_MPEG4_PART2_ASP; +-#endif ++ + if(profile) + { + if (!CDVDCodecUtils::IsVP3CompatibleWidth(avctx->coded_width)) +@@ -530,13 +529,10 @@ void CDecoder::ReadFormatOf( PixelFormat fmt + vdp_decoder_profile = VDP_DECODER_PROFILE_VC1_ADVANCED; + vdp_chroma_type = VDP_CHROMA_TYPE_420; + break; +-#if (defined PIX_FMT_VDPAU_MPEG4_IN_AVUTIL) && \ +- (defined VDP_DECODER_PROFILE_MP) + case PIX_FMT_VDPAU_MPEG4: +- vdp_decoder_profile = VDP_DECOPEG4_PART2_ASP; ++ vdp_decoder_profile = VDP_DECODER_PROFILE_MPEG4_PART2_ASP; + vdp_chroma_type = VDP_CHROMA_TYPE_420; + break; +-#endif + default: + vdp_decoder_profile = 0; + vdp_chroma_type = 0; +diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp +index 6a48309..d390ec7 100644 +--- a/xbmc/settings/AdvancedSettings.cpp ++++ b/xbmc/settings/AdvancedSettings.cpp +@@ -102,7 +102,7 @@ void CAdvancedSettings::Initialize() + m_videoNonLinStretchRatio = 0.5f; + m_videoEnableHighQualityHwScalers = false; + m_videoAutoScaleMaxFps = 30.0f; +- m_videoAllowMpeg4VDPAU = false; ++ m_videoAllowMpeg4VDPAU = true; + m_videoAllowMpeg4VAAPI = false; + m_videoDisableBackgroundDeinterlace = false; + m_videoCaptureUseOcclusionQuery = -1; //-1 is auto detect +-- +1.7.10 + diff --git a/packages/mediacenter/xbmc/patches/todo/xbmc-811.10-xvba_rpi_fixes-0aff5cd.patch b/packages/mediacenter/xbmc/patches/todo/xbmc-811.10-xvba_rpi_fixes-0aff5cd.patch new file mode 100644 index 0000000000..3cacbeaaa4 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/todo/xbmc-811.10-xvba_rpi_fixes-0aff5cd.patch @@ -0,0 +1,192 @@ +From d33a276284356e974dcf14e6c86b74064fb0715f Mon Sep 17 00:00:00 2001 +From: xbmc +Date: Sun, 10 Feb 2013 18:38:56 +0100 +Subject: [PATCH 1/2] renderer: add buffering - get clock via IPlayer + +--- + xbmc/cores/IPlayer.h | 2 ++ + xbmc/cores/VideoRenderers/RenderManager.cpp | 9 ++++++--- + xbmc/cores/VideoRenderers/RenderManager.h | 3 +-- + xbmc/cores/dvdplayer/DVDPlayer.cpp | 7 ++++++- + xbmc/cores/dvdplayer/DVDPlayer.h | 2 ++ + 5 files changed, 17 insertions(+), 6 deletions(-) + +diff --git a/xbmc/cores/IPlayer.h b/xbmc/cores/IPlayer.h +index 5ed88d1..f136998 100644 +--- a/xbmc/cores/IPlayer.h ++++ b/xbmc/cores/IPlayer.h +@@ -229,6 +229,8 @@ class IPlayer + */ + virtual void GetSubtitleCapabilities(std::vector &subCaps) { subCaps.assign(1,IPC_SUBS_ALL); }; + ++ virtual double GetClock(double& absolute, bool interpolated = true) {return 0; }; ++ + protected: + IPlayerCallback& m_callback; + }; +diff --git a/xbmc/cores/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoRenderers/RenderManager.cpp +index 9290f80..4664426 100644 +--- a/xbmc/cores/VideoRenderers/RenderManager.cpp ++++ b/xbmc/cores/VideoRenderers/RenderManager.cpp +@@ -325,7 +325,7 @@ void CXBMCRenderManager::RenderUpdate(bool clear, DWORD flags, DWORD alpha) + m_presentevent.Set(); + } + +-unsigned int CXBMCRenderManager::PreInit(CDVDClock *pClock) ++unsigned int CXBMCRenderManager::PreInit() + { + CRetakeLock lock(m_sharedSection); + +@@ -333,7 +333,6 @@ unsigned int CXBMCRenderManager::PreInit(CDVDClock *pClock) + m_presenterr = 0.0; + m_errorindex = 0; + memset(m_errorbuff, 0, sizeof(m_errorbuff)); +- m_pClock = pClock; + + m_bIsStarted = false; + m_bPauseDrawing = false; +@@ -1045,7 +1044,11 @@ void CXBMCRenderManager::PrepareNextRender() + } + + double iClockSleep, iPlayingClock, iCurrentClock; +- iPlayingClock = m_pClock->GetClock(iCurrentClock, false); ++ if (g_application.m_pPlayer) ++ iPlayingClock = g_application.m_pPlayer->GetClock(iCurrentClock, false); ++ else ++ iPlayingClock = iCurrentClock = 0; ++ + iClockSleep = m_renderBuffers[idx].pts - iPlayingClock; + + if (m_speed) +diff --git a/xbmc/cores/VideoRenderers/RenderManager.h b/xbmc/cores/VideoRenderers/RenderManager.h +index 6746957..b931f7d 100644 +--- a/xbmc/cores/VideoRenderers/RenderManager.h ++++ b/xbmc/cores/VideoRenderers/RenderManager.h +@@ -72,7 +72,7 @@ class CXBMCRenderManager + int AddVideoPicture(DVDVideoPicture& picture); + + void FlipPage(volatile bool& bStop, double timestamp = 0.0, int source = -1, EFIELDSYNC sync = FS_NONE, int speed = 0); +- unsigned int PreInit(CDVDClock *pClock); ++ unsigned int PreInit(); + void UnInit(); + bool Flush(); + +@@ -225,7 +225,6 @@ class CXBMCRenderManager + int m_presentsource; + CEvent m_presentevent; + CEvent m_flushEvent; +- CDVDClock *m_pClock; + + + OVERLAY::CRenderer m_overlays; +diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp +index 9e6e470..d0c7cd2 100644 +--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp ++++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp +@@ -463,7 +463,7 @@ bool CDVDPlayer::OpenFile(const CFileItem& file, const CPlayerOptions &options) + m_ready.Reset(); + + #if defined(HAS_VIDEO_PLAYBACK) +- g_renderManager.PreInit(&m_clock); ++ g_renderManager.PreInit(); + #endif + + Create(); +@@ -4129,3 +4129,8 @@ bool CDVDPlayer::CachePVRStream(void) const + !g_PVRManager.IsPlayingRecording() && + g_advancedSettings.m_bPVRCacheInDvdPlayer; + } ++ ++double CDVDPlayer::GetClock(double& absolute, bool interpolated) ++{ ++ return m_clock.GetClock(absolute, interpolated); ++} +diff --git a/xbmc/cores/dvdplayer/DVDPlayer.h b/xbmc/cores/dvdplayer/DVDPlayer.h +index 35bf762..ab73950 100644 +--- a/xbmc/cores/dvdplayer/DVDPlayer.h ++++ b/xbmc/cores/dvdplayer/DVDPlayer.h +@@ -254,6 +254,8 @@ class CDVDPlayer : public IPlayer, public CThread, public IDVDPlayer + virtual bool SwitchChannel(const PVR::CPVRChannel &channel); + virtual bool CachePVRStream(void) const; + ++ virtual double GetClock(double& absolute, bool interpolated = true); ++ + enum ECacheState + { CACHESTATE_DONE = 0 + , CACHESTATE_FULL // player is filling up the demux queue +-- +1.7.10 + + +From 0aff5cdc544caa87fe5e314e5624c07a160ffe61 Mon Sep 17 00:00:00 2001 +From: xbmc +Date: Sun, 10 Feb 2013 18:40:30 +0100 +Subject: [PATCH 2/2] OMXPlayer: adopt to buffering in renderer + +--- + xbmc/cores/omxplayer/OMXPlayer.cpp | 5 +++++ + xbmc/cores/omxplayer/OMXPlayer.h | 2 ++ + xbmc/cores/omxplayer/OMXPlayerVideo.cpp | 17 +++++++++++++---- + 3 files changed, 20 insertions(+), 4 deletions(-) + +diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp +index 60aa9ab..1acb9e2 100644 +--- a/xbmc/cores/omxplayer/OMXPlayer.cpp ++++ b/xbmc/cores/omxplayer/OMXPlayer.cpp +@@ -4210,4 +4210,9 @@ void COMXPlayer::GetSubtitleCapabilities(std::vector &subCaps) + subCaps.push_back(IPC_SUBS_ALL); + } + ++double COMXPlayer::GetClock(double& absolute, bool interpolated) ++{ ++ return m_av_clock.GetClock(absolute, interpolated); ++} ++ + #endif +diff --git a/xbmc/cores/omxplayer/OMXPlayer.h b/xbmc/cores/omxplayer/OMXPlayer.h +index ca824c2..57fc7a0 100644 +--- a/xbmc/cores/omxplayer/OMXPlayer.h ++++ b/xbmc/cores/omxplayer/OMXPlayer.h +@@ -332,6 +332,8 @@ class COMXPlayer : public IPlayer, public CThread, public IDVDPlayer + virtual void GetScalingMethods(std::vector &scalingMethods); + virtual void GetAudioCapabilities(std::vector &audioCaps); + virtual void GetSubtitleCapabilities(std::vector &subCaps); ++ ++ virtual double GetClock(double& absolute, bool interpolated = true); + protected: + friend class COMXSelectionStreams; + +diff --git a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +index 5f3f050..e8ff1aa 100644 +--- a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp ++++ b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +@@ -452,13 +452,22 @@ void OMXPlayerVideo::Output(int iGroupId, double pts, bool bDropPacket) + m_dropbase = 0.0f; + #endif + +- double pts_media = m_av_clock->OMXMediaTime(false, false); +- ProcessOverlays(iGroupId, pts_media); +- + if (!CThread::m_bStop && m_av_clock->GetAbsoluteClock(false) < (iCurrentClock + iSleepTime + DVD_MSEC_TO_TIME(500)) ) + return; + +- g_renderManager.FlipPage(CThread::m_bStop, (iCurrentClock + iSleepTime) / DVD_TIME_BASE, -1, FS_NONE); ++ int buffer = g_renderManager.WaitForBuffer(m_bStop); ++ while (buffer < 0 && !CThread::m_bStop) ++ { ++ Sleep(1); ++ buffer = g_renderManager.WaitForBuffer(m_bStop); ++ } ++ if (buffer < 0) ++ return; ++ ++ double pts_media = m_av_clock->OMXMediaTime(false, false); ++ ProcessOverlays(iGroupId, pts_media); ++ ++ g_renderManager.FlipPage(CThread::m_bStop, pts, -1, FS_NONE, m_speed); + + //m_av_clock->WaitAbsoluteClock((iCurrentClock + iSleepTime)); + } +-- +1.7.10 + diff --git a/packages/mediacenter/xbmc/patches/xbmc-801-watchdog.patch b/packages/mediacenter/xbmc/patches/xbmc-891-watchdog.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/xbmc-801-watchdog.patch rename to packages/mediacenter/xbmc/patches/xbmc-891-watchdog.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-990.07-PR2218.patch b/packages/mediacenter/xbmc/patches/xbmc-990.07-PR2218.patch new file mode 100644 index 0000000000..c8472d53fa --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-990.07-PR2218.patch @@ -0,0 +1,227 @@ +From aee2b8942c507d0b0c52e1a87d72687d864eaeae Mon Sep 17 00:00:00 2001 +From: fritsch +Date: Sun, 10 Feb 2013 21:49:31 +0100 +Subject: [PATCH 1/3] AE: Linux AE - some fixes of yesterday merge (Enumerate + + Resume) + +--- + xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +index 96a9a72..20af5a1 100644 +--- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp ++++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +@@ -1024,7 +1024,7 @@ bool CSoftAE::Resume() + { + #if defined(TARGET_LINUX) + // We must make sure, that we don't return empty. +- if(m_isSuspended || m_sinkInfoList.empty()) ++ if(m_sinkInfoList.empty()) + { + CLog::Log(LOGDEBUG, "CSoftAE::Resume - Re Enumerating Sinks"); + CExclusiveLock sinkLock(m_sinkLock); +@@ -1095,6 +1095,12 @@ void CSoftAE::Run() + /* if we are told to restart */ + if (m_reOpen || restart || !m_sink) + { ++ if(m_sinkIsSuspended && m_sink) ++ { ++ m_reOpen = m_reOpen || m_sink->SoftResume(); ++ m_sinkIsSuspended = false; ++ CLog::Log(LOGDEBUG, "CSoftAE::Run - Sink was forgotten"); ++ } + CLog::Log(LOGDEBUG, "CSoftAE::Run - Sink restart flagged"); + InternalOpenSink(); + } +-- +1.7.10 + + +From 8b382daadfe7e9cd1b6498571dcba8aca7b05c55 Mon Sep 17 00:00:00 2001 +From: fritsch +Date: Mon, 11 Feb 2013 00:08:05 +0100 +Subject: [PATCH 2/3] AE: in doubt restore old suspend behaviour + +--- + xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp | 49 +++++++++++++++------- + 1 file changed, 33 insertions(+), 16 deletions(-) + +diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +index 20af5a1..0f6c6ed 100644 +--- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp ++++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +@@ -989,32 +989,50 @@ bool CSoftAE::Suspend() + CSoftAEStream *stream = *itt; + stream->Flush(); + } ++ streamLock.Leave(); + #if defined(TARGET_LINUX) + /*workaround sinks not playing sound after resume */ + StopAllSounds(); +- CExclusiveLock sinkLock(m_sinkLock); +- for (AESinkInfoList::iterator itt = m_sinkInfoList.begin(); itt != m_sinkInfoList.end(); ++itt) +- { +- itt->m_deviceInfoList.pop_back(); +- } ++ bool ret = true; + if(m_sink) + { + /* Deinitialize and delete current m_sink */ + // we don't want that Run reopens our device, so we wait. + m_saveSuspend.Reset(); + // wait until we are looping in ProcessSuspend() +- m_saveSuspend.Wait(); +- m_sink->Drain(); +- m_sink->Deinitialize(); +- delete m_sink; +- m_sink = NULL; +- // signal anybody, that the sink is closed now +- // this should help us not to run into deadlocks +- if(m_closeSink) +- m_closeEvent.Set(); ++ // this is more save to not come up unclean ++ // we cannot wait forever ++ ret = m_saveSuspend.WaitMSec(500); ++ if(ret) ++ { ++ CLog::Log(LOGDEBUG, "CSoftAE::Suspend - After Event"); ++ CExclusiveLock sinkLock(m_sinkLock); ++ // remove all the sinks ++ for (AESinkInfoList::iterator itt = m_sinkInfoList.begin(); itt != m_sinkInfoList.end(); ++itt) ++ { ++ itt->m_deviceInfoList.pop_back(); ++ } ++ m_sink->Drain(); ++ m_sink->Deinitialize(); ++ delete m_sink; ++ m_sink = NULL; ++ } ++ else ++ { ++ CLog::Log(LOGDEBUG, "CSoftAE::Suspend - Unload failed will continue"); ++ m_saveSuspend.Reset(); ++ } + } + // The device list is now empty and must be reenumerated afterwards. +- m_sinkInfoList.clear(); ++ if(ret) ++ m_sinkInfoList.clear(); ++ ++ // signal anybody, that we are gone now (beware of deadlocks) ++ // we don't unset the fields here, to care for reinit after resume ++ if(m_closeSink) ++ m_closeEvent.Set(); ++ if(m_reOpen) ++ m_reOpenEvent.Set(); + #endif + + return true; +@@ -1378,7 +1396,6 @@ unsigned int CSoftAE::RunRawStreamStage(unsigned int channelCount, void *out, bo + StreamList resumeStreams; + static StreamList::iterator itt; + CSingleLock streamLock(m_streamLock); +- + /* handle playing streams */ + for (itt = m_playingStreams.begin(); itt != m_playingStreams.end(); ++itt) + { +-- +1.7.10 + + +From c42665ba9f1958452567ed1af8e85d07adae6b7b Mon Sep 17 00:00:00 2001 +From: fritsch +Date: Mon, 11 Feb 2013 03:08:42 +0100 +Subject: [PATCH 3/3] AE: Stop async closing when going to suspend - we close + in any case but cannot guarantee that the closeEvent + gets set + +--- + xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp | 23 ++-------------------- + xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h | 2 -- + 2 files changed, 2 insertions(+), 23 deletions(-) + +diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +index 0f6c6ed..017782c 100644 +--- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp ++++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +@@ -59,7 +59,6 @@ + m_audiophile (true ), + m_running (false ), + m_reOpen (false ), +- m_closeSink (false ), + m_sinkIsSuspended (false ), + m_isSuspended (false ), + m_softSuspend (false ), +@@ -189,8 +188,6 @@ void CSoftAE::InternalCloseSink() + delete m_sink; + m_sink = NULL; + } +- m_closeSink = false; +- m_closeEvent.Set(); + } + /* this must NEVER be called from outside the main thread or Initialization */ + void CSoftAE::InternalOpenSink() +@@ -873,16 +870,8 @@ IAEStream *CSoftAE::FreeStream(IAEStream *stream) + RemoveStream(m_playingStreams, (CSoftAEStream*)stream); + RemoveStream(m_streams , (CSoftAEStream*)stream); + lock.Leave(); +- // Close completely when we go to suspend, reopen as it was old behaviour. +- // Not opening when masterstream stops means clipping on S/PDIF. +- if(m_isSuspended) +- { +- m_closeEvent.Reset(); +- m_closeSink = true; +- m_closeEvent.Wait(); +- m_wake.Set(); +- } +- else if (m_masterStream == stream) ++ // Reopen is old behaviour. Not opening when masterstream stops means clipping on S/PDIF. ++ if(!m_isSuspended && (m_masterStream == stream)) + OpenSink(); + + delete (CSoftAEStream*)stream; +@@ -1029,8 +1018,6 @@ bool CSoftAE::Suspend() + + // signal anybody, that we are gone now (beware of deadlocks) + // we don't unset the fields here, to care for reinit after resume +- if(m_closeSink) +- m_closeEvent.Set(); + if(m_reOpen) + m_reOpenEvent.Set(); + #endif +@@ -1101,12 +1088,6 @@ void CSoftAE::Run() + restart = true; + } + +- //we are told to close the sink +- if(m_closeSink) +- { +- InternalCloseSink(); +- } +- + /* Handle idle or forced suspend */ + ProcessSuspend(); + +diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h +index 559e055..26d5e9c 100644 +--- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h ++++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h +@@ -137,14 +137,12 @@ class CSoftAE : public IThreadedAE + + /* internal vars */ + bool m_running, m_reOpen; +- bool m_closeSink; + bool m_sinkIsSuspended; /* The sink is in unusable state, e.g. SoftSuspended */ + bool m_isSuspended; /* engine suspended by external function to release audio context */ + bool m_softSuspend; /* latches after last stream or sound played for timer below for idle */ + unsigned int m_softSuspendTimer; /* time in milliseconds to hold sink open before soft suspend for idle */ + CEvent m_reOpenEvent; + CEvent m_wake; +- CEvent m_closeEvent; + CEvent m_saveSuspend; + + CCriticalSection m_runningLock; /* released when the thread exits */ +-- +1.7.10 + diff --git a/packages/mediacenter/xbmc/patches/xbmc-990.08-PR2206.patch b/packages/mediacenter/xbmc/patches/xbmc-990.08-PR2206.patch new file mode 100644 index 0000000000..9868737e8b --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-990.08-PR2206.patch @@ -0,0 +1,68 @@ +From 94ea56fc7c14ade6338e00ff67942ebd7b345e01 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Mon, 11 Feb 2013 11:38:26 +0000 +Subject: [PATCH] [rbp] Fix for broken ASS subtitles. + +The video fifo patch broke some types of subtitles including ASS. +This keeps closer track of when the sleep time would have ended and calls FlipPage at the appropriate time. +I've also removed the 500ms in the sleep time calculation as that makes the subs render 500ms late. Not sure what its purpose was. +--- + xbmc/cores/omxplayer/OMXPlayerVideo.cpp | 19 +++++++++++++++---- + xbmc/cores/omxplayer/OMXPlayerVideo.h | 1 + + 2 files changed, 16 insertions(+), 4 deletions(-) + +diff --git a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +index 4dec28a..ec7e7f6 100644 +--- a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp ++++ b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +@@ -124,6 +124,7 @@ bool OMXPlayerVideo::OpenStream(CDVDStreamInfo &hints) + m_started = false; + m_stalled = m_messageQueue.GetPacketCount(CDVDMsg::DEMUXER_PACKET) == 0; + m_autosync = 1; ++ m_iSleepEndTime = DVD_NOPTS_VALUE; + + m_audio_count = m_av_clock->HasAudio(); + +@@ -452,13 +453,23 @@ void OMXPlayerVideo::Output(int iGroupId, double pts, bool bDropPacket) + m_dropbase = 0.0f; + #endif + +- double pts_media = m_av_clock->OMXMediaTime(false, false); +- ProcessOverlays(iGroupId, pts_media); ++ // DVDPlayer sleeps until m_iSleepEndTime here before calling FlipPage. ++ // Video playback in asynchronous in OMXPlayer, so we don't want to do that here, as it prevents the video fifo from being kept full. ++ // So, we keep track of when FlipPage would have been called on DVDPlayer and return early if it is not time. ++ // m_iSleepEndTime == DVD_NOPTS_VALUE means we are not waiting to call FlipPage, otherwise it is the time we want to call FlipPage ++ if (m_iSleepEndTime == DVD_NOPTS_VALUE) { ++ m_iSleepEndTime = iCurrentClock + iSleepTime; ++ } + +- if (!CThread::m_bStop && m_av_clock->GetAbsoluteClock(false) < (iCurrentClock + iSleepTime + DVD_MSEC_TO_TIME(500)) ) ++ if (!CThread::m_bStop && m_av_clock->GetAbsoluteClock(false) < m_iSleepEndTime) + return; + +- g_renderManager.FlipPage(CThread::m_bStop, (iCurrentClock + iSleepTime) / DVD_TIME_BASE, -1, FS_NONE); ++ m_iSleepEndTime = DVD_NOPTS_VALUE; ++ ++ double pts_media = m_av_clock->OMXMediaTime(false, false); ++ ProcessOverlays(iGroupId, pts_media); ++ ++ g_renderManager.FlipPage(CThread::m_bStop, pts_media / DVD_TIME_BASE, -1, FS_NONE); + + //m_av_clock->WaitAbsoluteClock((iCurrentClock + iSleepTime)); + } +diff --git a/xbmc/cores/omxplayer/OMXPlayerVideo.h b/xbmc/cores/omxplayer/OMXPlayerVideo.h +index 3fd643e..cf05c1f 100644 +--- a/xbmc/cores/omxplayer/OMXPlayerVideo.h ++++ b/xbmc/cores/omxplayer/OMXPlayerVideo.h +@@ -49,6 +49,7 @@ class OMXPlayerVideo : public CThread + bool m_open; + CDVDStreamInfo m_hints; + double m_iCurrentPts; ++ double m_iSleepEndTime; + OMXClock *m_av_clock; + COMXVideo m_omxVideo; + float m_fFrameRate; +-- +1.7.10 + diff --git a/packages/mediacenter/xbmc/sleep.d/99_reload_skin b/packages/mediacenter/xbmc/sleep.d/99_reload_skin deleted file mode 100755 index eb3a3dce07..0000000000 --- a/packages/mediacenter/xbmc/sleep.d/99_reload_skin +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# This Program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This Program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -. /etc/profile - -case "$1" in - thaw|resume) - xbmc-send --host=127.0.0.1 -a "ReloadSkin()" & - ;; - *) exit $NA - ;; -esac diff --git a/packages/network/iptables/install b/packages/network/iptables/install index 0af9dffd3f..822e19dc4d 100755 --- a/packages/network/iptables/install +++ b/packages/network/iptables/install @@ -30,7 +30,7 @@ mkdir -p $INSTALL/usr/lib rm -rf $INSTALL/usr/lib/libiptc.so*T mkdir -p $INSTALL/usr/lib/xtables - cp -P $PKG_BUILD/extensions/*.so $INSTALL/usr/lib/xtables + cp -P $PKG_BUILD/extensions/.libs/*.so* $INSTALL/usr/lib/xtables mkdir -p $INSTALL/usr/sbin cp -P $PKG_BUILD/iptables/.libs/xtables-multi $INSTALL/usr/sbin