mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
alarm/xbmc-rbp-git to 14.20140712-1
This commit is contained in:
parent
1b1973253e
commit
b7ba511639
3 changed files with 33 additions and 77 deletions
|
@ -4,8 +4,8 @@
|
|||
buildarch=16
|
||||
|
||||
pkgname=xbmc-rbp-git
|
||||
pkgver=14.20140711
|
||||
pkgrel=2
|
||||
pkgver=14.20140712
|
||||
pkgrel=1
|
||||
pkgdesc="A software media player and entertainment hub for digital media for the Raspberry Pi"
|
||||
arch=('armv6h')
|
||||
url="http://xbmc.org"
|
||||
|
@ -22,10 +22,12 @@ provides=("xbmc")
|
|||
conflicts=("xbmc")
|
||||
install="xbmc.install"
|
||||
source=('xbmc.service'
|
||||
'polkit.rules')
|
||||
'polkit.rules'
|
||||
'fix_libnfs.patch')
|
||||
|
||||
md5sums=('55e6d3aab86e810c49a7f550be5b7f69'
|
||||
'02f7951824ee13103344f36009c0ef2a')
|
||||
'02f7951824ee13103344f36009c0ef2a'
|
||||
'1086fdb02b838f0a5763e493bed59fc2')
|
||||
|
||||
_gitname="xbmc"
|
||||
_gitroot="git://github.com/xbmc"
|
||||
|
@ -54,6 +56,8 @@ prepare() {
|
|||
|
||||
cd "${srcdir}/${_gitname}"
|
||||
|
||||
patch -Np1 -i "$srcdir/fix_libnfs.patch"
|
||||
|
||||
# fix lsb_release dependency
|
||||
sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp
|
||||
|
||||
|
|
25
alarm/xbmc-rbp-git/fix_libnfs.patch
Normal file
25
alarm/xbmc-rbp-git/fix_libnfs.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
diff --git a/xbmc/filesystem/NFSDirectory.cpp b/xbmc/filesystem/NFSDirectory.cpp
|
||||
index 85084a5..8efa7bf 100644
|
||||
--- a/xbmc/filesystem/NFSDirectory.cpp
|
||||
+++ b/xbmc/filesystem/NFSDirectory.cpp
|
||||
@@ -37,6 +37,7 @@
|
||||
using namespace XFILE;
|
||||
using namespace std;
|
||||
#include <limits.h>
|
||||
+#include <nfsc/libnfs-zdr.h>
|
||||
#include <nfsc/libnfs-raw-mount.h>
|
||||
#include <nfsc/libnfs-raw-nfs.h>
|
||||
|
||||
diff --git a/xbmc/filesystem/NFSFile.cpp b/xbmc/filesystem/NFSFile.cpp
|
||||
index 479f3fe..2aeea32 100644
|
||||
--- a/xbmc/filesystem/NFSFile.cpp
|
||||
+++ b/xbmc/filesystem/NFSFile.cpp
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "network/DNSNameCache.h"
|
||||
#include "threads/SystemClock.h"
|
||||
|
||||
+#include <nfsc/libnfs-zdr.h>
|
||||
#include <nfsc/libnfs-raw-mount.h>
|
||||
|
||||
#ifdef TARGET_WINDOWS
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
From 6e5822d4fe648abbd575cf77ced943a1461e9ae5 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Brunner <chb@muc.de>
|
||||
Date: Sat, 18 Jan 2014 13:20:56 -0800
|
||||
Subject: [PATCH] [cec] suppress double keys within 250ms
|
||||
|
||||
workaround for Panasonic's cec implementation
|
||||
---
|
||||
xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 16 ++++++++++++----
|
||||
xbmc/peripherals/devices/PeripheralCecAdapter.h | 1 +
|
||||
2 files changed, 13 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
index 8919380..4bf5f89 100644
|
||||
--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
@@ -56,6 +56,9 @@
|
||||
#define LOCALISED_ID_TV_AVR 36039
|
||||
#define LOCALISED_ID_NONE 231
|
||||
|
||||
+/* time in milliseconds to suppress a double key press */
|
||||
+#define CEC_SUPPRESS_DOUBLE_KEY 250
|
||||
+
|
||||
/* time in seconds to suppress source activation after receiving OnStop */
|
||||
#define CEC_SUPPRESS_ACTIVATE_SOURCE_AFTER_ON_STOP 2
|
||||
|
||||
@@ -765,16 +768,20 @@ void CPeripheralCecAdapter::GetNextKey(void)
|
||||
|
||||
void CPeripheralCecAdapter::PushCecKeypress(const CecButtonPress &key)
|
||||
{
|
||||
- CLog::Log(LOGDEBUG, "%s - received key %2x duration %d", __FUNCTION__, key.iButton, key.iDuration);
|
||||
+ CLog::Log(LOGDEBUG, "%s - received key %2x duration %d timestamp %i", __FUNCTION__, key.iButton, key.iDuration, key.iTimestamp);
|
||||
|
||||
CSingleLock lock(m_critSection);
|
||||
+ if (key.iDuration == 0 && key.iTimestamp - m_currentButton.iTimestamp < CEC_SUPPRESS_DOUBLE_KEY )
|
||||
+ if (m_currentButton.iButton == key.iButton && m_currentButton.iDuration == 0)
|
||||
+ // ignore this one, since it's already been handled by xbmc (workaround for buggy tv)
|
||||
+ return;
|
||||
+
|
||||
if (key.iDuration > 0)
|
||||
{
|
||||
if (m_currentButton.iButton == key.iButton && m_currentButton.iDuration == 0)
|
||||
{
|
||||
- // update the duration
|
||||
- if (m_bHasButton)
|
||||
- m_currentButton.iDuration = key.iDuration;
|
||||
+ // update the duration
|
||||
+ m_currentButton.iDuration = key.iDuration;
|
||||
// ignore this one, since it's already been handled by xbmc
|
||||
return;
|
||||
}
|
||||
@@ -802,6 +809,7 @@ void CPeripheralCecAdapter::PushCecKeypress(const cec_keypress &key)
|
||||
{
|
||||
CecButtonPress xbmcKey;
|
||||
xbmcKey.iDuration = key.duration;
|
||||
+ xbmcKey.iTimestamp = XbmcThreads::SystemClockMillis();
|
||||
|
||||
switch (key.keycode)
|
||||
{
|
||||
diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.h b/xbmc/peripherals/devices/PeripheralCecAdapter.h
|
||||
index 0809b03..cfd4ba9 100644
|
||||
--- a/xbmc/peripherals/devices/PeripheralCecAdapter.h
|
||||
+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.h
|
||||
@@ -72,6 +72,7 @@
|
||||
{
|
||||
int iButton;
|
||||
unsigned int iDuration;
|
||||
+ unsigned int iTimestamp;
|
||||
} CecButtonPress;
|
||||
|
||||
typedef enum
|
||||
--
|
||||
1.8.5.1
|
||||
|
Loading…
Reference in a new issue