Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-settings

This commit is contained in:
Stephan Raue 2013-02-11 15:30:01 +01:00
commit 13e7727a55
9 changed files with 651 additions and 124 deletions

View File

@ -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('<status>Downloading</status>') >= 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('<status>Downloading</status>') >= 0)
# reset idle timer when we're close to idle sleep/shutdown
if (shouldKeepAwake and sabIsActive):
response = xbmc.executehttpapi("GetGUISetting(0;powermanagement.shutdowntime)").replace('<li>','')
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('<li>','')
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()

View File

@ -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:

View File

@ -1,7 +1,7 @@
From bfd49543c49747236d401df4351767d584f756ac Mon Sep 17 00:00:00 2001
From: wsnipex <wsnipex@a1.net>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <elupus@xbmc.org>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <elupus@xbmc.org>
---
@ -10765,7 +10765,7 @@ index 618bd68..0824af5 100644
From 2b379b9ce21b6d61b44b647b79ef3587dbbcf0ec Mon Sep 17 00:00:00 2001
From: FernetMenta <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <elupus@xbmc.org>
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 <elupus@xbmc.org>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <peter.fruehberger@gmail.com>
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 <peter.fruehberger@gmail.com>
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 <Peter.Fruehberger@gmail.com>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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?= <gregory.coutant@gmail.com>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <peter.fruehberger@gmail.com>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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 <fernetmenta@online.de>
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

View File

@ -0,0 +1,192 @@
From d33a276284356e974dcf14e6c86b74064fb0715f Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
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<int> &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<CExclusiveLock> 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 <fernetmenta@online.de>
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<int> &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<int> &scalingMethods);
virtual void GetAudioCapabilities(std::vector<int> &audioCaps);
virtual void GetSubtitleCapabilities(std::vector<int> &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

View File

@ -0,0 +1,227 @@
From aee2b8942c507d0b0c52e1a87d72687d864eaeae Mon Sep 17 00:00:00 2001
From: fritsch <peter.fruehberger@gmail.com>
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 <peter.fruehberger@gmail.com>
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 <peter.fruehberger@gmail.com>
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

View File

@ -0,0 +1,68 @@
From 94ea56fc7c14ade6338e00ff67942ebd7b345e01 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
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

View File

@ -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

View File

@ -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