Merge remote-tracking branch 'upstream/master' into openelec-settings

This commit is contained in:
Stefan Saraev 2013-02-01 22:08:58 +02:00
commit 67e740818f
19 changed files with 564 additions and 162 deletions

View File

@ -1,3 +1,6 @@
3.0.3
- update to makemkv-1.7.10
3.0.2 3.0.2
- update to makemkv-1.7.9 - update to makemkv-1.7.9

View File

@ -19,8 +19,8 @@
################################################################################ ################################################################################
PKG_NAME="makemkv" PKG_NAME="makemkv"
PKG_VERSION="1.7.9" PKG_VERSION="1.7.10"
PKG_REV="2" PKG_REV="3"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="OSS" PKG_LICENSE="OSS"
PKG_SITE="http://www.makemkv.com/forum2/viewforum.php?f=3" PKG_SITE="http://www.makemkv.com/forum2/viewforum.php?f=3"

View File

@ -0,0 +1,12 @@
diff -Naur speex-1.2rc1/configure.ac speex-1.2rc1.patch/configure.ac
--- speex-1.2rc1/configure.ac 2008-07-21 04:17:08.000000000 +0200
+++ speex-1.2rc1.patch/configure.ac 2013-02-01 16:50:06.747570221 +0100
@@ -2,7 +2,7 @@
AC_INIT(libspeex/speex.c)
-AM_CONFIG_HEADER([config.h])
+AC_CONFIG_HEADERS([config.h])
SPEEX_MAJOR_VERSION=1
SPEEX_MINOR_VERSION=1

View File

@ -0,0 +1,12 @@
diff -Naur json-c-0.9/configure.in json-c-0.9.patch/configure.in
--- json-c-0.9/configure.in 2009-01-06 23:55:33.000000000 +0100
+++ json-c-0.9.patch/configure.in 2013-02-01 16:45:09.890830041 +0100
@@ -10,7 +10,7 @@
# Checks for libraries.
# Checks for header files.
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS(config.h)
AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h limits.h strings.h syslog.h unistd.h [sys/param.h] stdarg.h)

View File

@ -0,0 +1,58 @@
--- a/x86-32/src/wl/sys/wl_cfg80211.c 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-32/src/wl/sys/wl_cfg80211.c 2013-01-31 07:47:40.000000000 +0100
@@ -1466,7 +1466,10 @@
scb_val.val = 0;
err = wl_dev_ioctl(dev, WLC_GET_RSSI, &scb_val, sizeof(scb_val_t));
if (err) {
- WL_ERR(("Could not get rssi (%d)\n", err));
+ if (err != -EINVAL) {
+ // Don't fill syslog with EINVAL error
+ WL_ERR(("Could not get rssi (%d)\n", err));
+ }
return err;
}
rssi = dtoh32(scb_val.val);
--- a/x86-32/src/wl/sys/wl_linux.c 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-32/src/wl/sys/wl_linux.c 2013-01-31 07:47:40.000000000 +0100
@@ -1579,11 +1579,7 @@
}
WL_LOCK(wl);
- if (!capable(CAP_NET_ADMIN)) {
- bcmerror = BCME_EPERM;
- } else {
- bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
- }
+ bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
WL_UNLOCK(wl);
done1:
--- a/x86-64/src/wl/sys/wl_cfg80211.c 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-64/src/wl/sys/wl_cfg80211.c 2013-01-31 07:49:06.000000000 +0100
@@ -1466,7 +1466,10 @@
scb_val.val = 0;
err = wl_dev_ioctl(dev, WLC_GET_RSSI, &scb_val, sizeof(scb_val_t));
if (err) {
- WL_ERR(("Could not get rssi (%d)\n", err));
+ if (err != -EINVAL) {
+ // Don't fill syslog with EINVAL error
+ WL_ERR(("Could not get rssi (%d)\n", err));
+ }
return err;
}
rssi = dtoh32(scb_val.val);
--- a/x86-64/src/wl/sys/wl_linux.c 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-64/src/wl/sys/wl_linux.c 2013-01-31 07:50:03.000000000 +0100
@@ -1579,11 +1579,7 @@
}
WL_LOCK(wl);
- if (!capable(CAP_NET_ADMIN)) {
- bcmerror = BCME_EPERM;
- } else {
- bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
- }
+ bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
WL_UNLOCK(wl);
done1:

View File

@ -0,0 +1,162 @@
--- a/x86-32/Makefile 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-32/Makefile 2013-01-31 10:00:10.000000000 +0100
@@ -15,21 +15,9 @@
ifneq ($(KERNELRELEASE),)
- LINUXVER_GOODFOR_CFG80211:=$(strip $(shell \
- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "32" ]; then \
- echo TRUE; \
- else \
- echo FALSE; \
- fi \
- ))
-
- LINUXVER_WEXT_ONLY:=$(strip $(shell \
- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "17" ]; then \
- echo FALSE; \
- else \
- echo TRUE; \
- fi \
- ))
+ LINUXVER_GOODFOR_CFG80211:=TRUE
+
+ LINUXVER_WEXT_ONLY:=FALSE
ifneq ($(API),)
ifeq ($(API), CFG80211)
--- a/x86-32/src/wl/sys/wl_cfg80211.c 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-32/src/wl/sys/wl_cfg80211.c 2013-01-31 10:00:10.000000000 +0100
@@ -42,7 +42,7 @@
enum nl80211_iftype type, u32 *flags, struct vif_params *params);
static s32 __wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_scan_request *request, struct cfg80211_ssid *this_ssid);
-static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
+static s32 wl_cfg80211_scan(struct wiphy *wiphy,
struct cfg80211_scan_request *request);
static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed);
static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev,
@@ -570,10 +570,12 @@
}
static s32
-wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
+wl_cfg80211_scan(struct wiphy *wiphy,
struct cfg80211_scan_request *request)
{
s32 err = 0;
+ struct wl_priv *wl = wiphy_to_wl(wiphy);
+ struct net_device *ndev = wl_to_ndev(wl);
CHECK_SYS_UP();
err = __wl_cfg80211_scan(wiphy, ndev, request, NULL);
--- a/x86-32/src/wl/sys/wl_iw.h 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-32/src/wl/sys/wl_iw.h 2013-01-31 10:00:10.000000000 +0100
@@ -15,6 +15,7 @@
#ifndef _wl_iw_h_
#define _wl_iw_h_
+#include <linux/semaphore.h>
#include <linux/wireless.h>
#include <typedefs.h>
--- a/x86-32/src/wl/sys/wl_linux.c 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-32/src/wl/sys/wl_linux.c 2013-01-31 10:00:10.000000000 +0100
@@ -40,7 +40,6 @@
#include <linux/pci_ids.h>
#define WLC_MAXBSSCFG 1
-#include <asm/system.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/pgtable.h>
@@ -385,7 +384,7 @@
#endif
.ndo_get_stats = wl_get_stats,
.ndo_set_mac_address = wl_set_mac_address,
- .ndo_set_multicast_list = wl_set_multicast_list,
+ .ndo_set_rx_mode = wl_set_multicast_list,
.ndo_do_ioctl = wl_ioctl
};
--- a/x86-64/Makefile 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-64/Makefile 2013-01-31 10:06:20.000000000 +0100
@@ -15,21 +15,9 @@
ifneq ($(KERNELRELEASE),)
- LINUXVER_GOODFOR_CFG80211:=$(strip $(shell \
- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "32" ]; then \
- echo TRUE; \
- else \
- echo FALSE; \
- fi \
- ))
-
- LINUXVER_WEXT_ONLY:=$(strip $(shell \
- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "17" ]; then \
- echo FALSE; \
- else \
- echo TRUE; \
- fi \
- ))
+ LINUXVER_GOODFOR_CFG80211:=TRUE
+
+ LINUXVER_WEXT_ONLY:=FALSE
ifneq ($(API),)
ifeq ($(API), CFG80211)
--- a/x86-64/src/wl/sys/wl_cfg80211.c 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-64/src/wl/sys/wl_cfg80211.c 2013-01-31 10:07:35.000000000 +0100
@@ -42,7 +42,7 @@
enum nl80211_iftype type, u32 *flags, struct vif_params *params);
static s32 __wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_scan_request *request, struct cfg80211_ssid *this_ssid);
-static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
+static s32 wl_cfg80211_scan(struct wiphy *wiphy,
struct cfg80211_scan_request *request);
static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed);
static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev,
@@ -570,10 +570,12 @@
}
static s32
-wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
+wl_cfg80211_scan(struct wiphy *wiphy,
struct cfg80211_scan_request *request)
{
s32 err = 0;
+ struct wl_priv *wl = wiphy_to_wl(wiphy);
+ struct net_device *ndev = wl_to_ndev(wl);
CHECK_SYS_UP();
err = __wl_cfg80211_scan(wiphy, ndev, request, NULL);
--- a/x86-64/src/wl/sys/wl_iw.h 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-64/src/wl/sys/wl_iw.h 2013-01-31 10:07:58.000000000 +0100
@@ -15,6 +15,7 @@
#ifndef _wl_iw_h_
#define _wl_iw_h_
+#include <linux/semaphore.h>
#include <linux/wireless.h>
#include <typedefs.h>
--- a/x86-64/src/wl/sys/wl_linux.c 2013-01-25 13:59:21.000000000 +0100
+++ b/x86-64/src/wl/sys/wl_linux.c 2013-01-31 10:08:30.000000000 +0100
@@ -40,7 +40,6 @@
#include <linux/pci_ids.h>
#define WLC_MAXBSSCFG 1
-#include <asm/system.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/pgtable.h>
@@ -385,7 +384,7 @@
#endif
.ndo_get_stats = wl_get_stats,
.ndo_set_mac_address = wl_set_mac_address,
- .ndo_set_multicast_list = wl_set_multicast_list,
+ .ndo_set_rx_mode = wl_set_multicast_list,
.ndo_do_ioctl = wl_ioctl
};

View File

@ -0,0 +1,22 @@
--- a/x86-32/src/wl/sys/wl_linux.c 2010-12-15 02:58:07.000000000 +0100
+++ b/x86-32/src/wl/sys/wl_linux.c 2010-12-27 22:14:38.679428984 +0100
@@ -251,7 +251,7 @@
#define quote_str(s) to_str(s)
#ifndef BRCM_WLAN_IFNAME
-#define BRCM_WLAN_IFNAME eth%d
+#define BRCM_WLAN_IFNAME wlan%d
#endif
static char name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME);
--- a/x86-64/src/wl/sys/wl_linux.c 2010-12-15 03:01:09.000000000 +0100
+++ b/x86-64/src/wl/sys/wl_linux.c 2010-12-27 22:15:18.273865927 +0100
@@ -251,7 +251,7 @@
#define quote_str(s) to_str(s)
#ifndef BRCM_WLAN_IFNAME
-#define BRCM_WLAN_IFNAME eth%d
+#define BRCM_WLAN_IFNAME wlan%d
#endif
static char name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME);

View File

@ -1,29 +0,0 @@
--- a/x86-32/src/wl/sys/wl_cfg80211.c 2011-10-23 03:56:55.000000000 +1100
+++ b/x86-32/src/wl/sys/wl_cfg80211.c 2012-05-24 18:43:17.324465658 +1000
@@ -1466,7 +1466,10 @@
scb_val.val = 0;
err = wl_dev_ioctl(dev, WLC_GET_RSSI, &scb_val, sizeof(scb_val_t));
if (err) {
- WL_ERR(("Could not get rssi (%d)\n", err));
+ if (err != -EINVAL) {
+ // Don't fill syslog with EINVAL error
+ WL_ERR(("Could not get rssi (%d)\n", err));
+ }
return err;
}
rssi = dtoh32(scb_val.val);
--- a/x86-32/src/wl/sys/wl_linux.c 2011-10-23 03:56:55.000000000 +1100
+++ b/x86-32/src/wl/sys/wl_linux.c 2012-05-24 18:43:17.324465658 +1000
@@ -1579,11 +1579,7 @@
}
WL_LOCK(wl);
- if (!capable(CAP_NET_ADMIN)) {
- bcmerror = BCME_EPERM;
- } else {
- bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
- }
+ bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
WL_UNLOCK(wl);
done1:

View File

@ -1,79 +0,0 @@
--- a/x86-32/Makefile 2012-10-15 23:08:11.256904135 +1100
+++ b/x86-32/Makefile 2012-10-15 23:08:18.970262327 +1100
@@ -15,21 +15,9 @@
ifneq ($(KERNELRELEASE),)
- LINUXVER_GOODFOR_CFG80211:=$(strip $(shell \
- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "32" ]; then \
- echo TRUE; \
- else \
- echo FALSE; \
- fi \
- ))
+ LINUXVER_GOODFOR_CFG80211:=TRUE
- LINUXVER_WEXT_ONLY:=$(strip $(shell \
- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "17" ]; then \
- echo FALSE; \
- else \
- echo TRUE; \
- fi \
- ))
+ LINUXVER_WEXT_ONLY:=FALSE
ifneq ($(API),)
ifeq ($(API), CFG80211)
--- a/x86-32/src/wl/sys/wl_cfg80211.c 2012-10-15 23:08:11.266904352 +1100
+++ b/x86-32/src/wl/sys/wl_cfg80211.c 2012-10-15 23:08:32.313638398 +1100
@@ -42,7 +42,7 @@
enum nl80211_iftype type, u32 *flags, struct vif_params *params);
static s32 __wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_scan_request *request, struct cfg80211_ssid *this_ssid);
-static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
+static s32 wl_cfg80211_scan(struct wiphy *wiphy,
struct cfg80211_scan_request *request);
static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed);
static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev,
@@ -570,10 +570,12 @@
}
static s32
-wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
+wl_cfg80211_scan(struct wiphy *wiphy,
struct cfg80211_scan_request *request)
{
s32 err = 0;
+ struct wl_priv *wl = wiphy_to_wl(wiphy);
+ struct net_device *ndev = wl_to_ndev(wl);
CHECK_SYS_UP();
err = __wl_cfg80211_scan(wiphy, ndev, request, NULL);
--- a/x86-32/src/wl/sys/wl_iw.h 2012-10-15 23:08:11.266904352 +1100
+++ b/x86-32/src/wl/sys/wl_iw.h 2012-10-15 23:08:18.973595675 +1100
@@ -15,6 +15,7 @@
#ifndef _wl_iw_h_
#define _wl_iw_h_
+#include <linux/semaphore.h>
#include <linux/wireless.h>
#include <typedefs.h>
--- a/x86-32/src/wl/sys/wl_linux.c 2012-10-15 23:08:11.266904352 +1100
+++ b/x86-32/src/wl/sys/wl_linux.c 2012-10-15 23:08:18.973595675 +1100
@@ -40,7 +40,6 @@
#include <linux/pci_ids.h>
#define WLC_MAXBSSCFG 1
-#include <asm/system.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/pgtable.h>
@@ -385,7 +384,7 @@
#endif
.ndo_get_stats = wl_get_stats,
.ndo_set_mac_address = wl_set_mac_address,
- .ndo_set_multicast_list = wl_set_multicast_list,
+ .ndo_set_rx_mode = wl_set_multicast_list,
.ndo_do_ioctl = wl_ioctl
};

View File

@ -1,26 +0,0 @@
diff -Naur bcm_sta-5.100.82.38/x86-32/src/wl/sys/wl_linux.c bcm_sta-5.100.82.38.patch/x86-32/src/wl/sys/wl_linux.c
--- bcm_sta-5.100.82.38/x86-32/src/wl/sys/wl_linux.c 2010-12-15 02:58:07.000000000 +0100
+++ bcm_sta-5.100.82.38.patch/x86-32/src/wl/sys/wl_linux.c 2010-12-27 22:14:38.679428984 +0100
@@ -251,7 +251,7 @@
#define quote_str(s) to_str(s)
#ifndef BRCM_WLAN_IFNAME
-#define BRCM_WLAN_IFNAME eth%d
+#define BRCM_WLAN_IFNAME wlan%d
#endif
static char name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME);
diff -Naur bcm_sta-5.100.82.38/x86-32/src/wl/sys/wl_linux.c.orig bcm_sta-5.100.82.38.patch/x86-32/src/wl/sys/wl_linux.c.orig
diff -Naur bcm_sta-5.100.82.38/x86-64/src/wl/sys/wl_linux.c bcm_sta-5.100.82.38.patch/x86-64/src/wl/sys/wl_linux.c
--- bcm_sta-5.100.82.38/x86-64/src/wl/sys/wl_linux.c 2010-12-15 03:01:09.000000000 +0100
+++ bcm_sta-5.100.82.38.patch/x86-64/src/wl/sys/wl_linux.c 2010-12-27 22:15:18.273865927 +0100
@@ -251,7 +251,7 @@
#define quote_str(s) to_str(s)
#ifndef BRCM_WLAN_IFNAME
-#define BRCM_WLAN_IFNAME eth%d
+#define BRCM_WLAN_IFNAME wlan%d
#endif
static char name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME);
diff -Naur bcm_sta-5.100.82.38/x86-64/src/wl/sys/wl_linux.c.orig bcm_sta-5.100.82.38.patch/x86-64/src/wl/sys/wl_linux.c.orig

View File

@ -19,7 +19,7 @@
################################################################################ ################################################################################
PKG_NAME="dvb-firmware" PKG_NAME="dvb-firmware"
PKG_VERSION="0.0.29" PKG_VERSION="0.0.30"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="Free-to-use" PKG_LICENSE="Free-to-use"

View File

@ -0,0 +1,276 @@
From ac29de2eff8fe144fdbe0330dc38036cf546a372 Mon Sep 17 00:00:00 2001
From: fritsch <peter.fruehberger@gmail.com>
Date: Thu, 31 Jan 2013 21:27:56 +0100
Subject: [PATCH 1/2] AE: make forced enumeration possible - this can be used
to delay startup when now devices are present
---
xbmc/cores/AudioEngine/AESinkFactory.cpp | 10 +++++-----
xbmc/cores/AudioEngine/AESinkFactory.h | 2 +-
xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp | 11 +++++++++++
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 4 ++--
xbmc/cores/AudioEngine/Sinks/AESinkALSA.h | 2 +-
xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp | 2 +-
xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h | 2 +-
xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp | 2 +-
xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h | 2 +-
xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp | 2 +-
xbmc/cores/AudioEngine/Sinks/AESinkOSS.h | 2 +-
xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp | 2 +-
xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h | 4 ++--
13 files changed, 29 insertions(+), 18 deletions(-)
diff --git a/xbmc/cores/AudioEngine/AESinkFactory.cpp b/xbmc/cores/AudioEngine/AESinkFactory.cpp
index b066ecd..9917f11 100644
--- a/xbmc/cores/AudioEngine/AESinkFactory.cpp
+++ b/xbmc/cores/AudioEngine/AESinkFactory.cpp
@@ -129,15 +129,15 @@ IAESink *CAESinkFactory::Create(std::string &device, AEAudioFormat &desiredForma
return NULL;
}
-#define ENUMERATE_SINK(SINK) { \
+#define ENUMERATE_SINK(SINK, force) { \
AESinkInfo info; \
info.m_sinkName = #SINK; \
- CAESink ##SINK::EnumerateDevicesEx(info.m_deviceInfoList); \
+ CAESink ##SINK::EnumerateDevicesEx(info.m_deviceInfoList, force); \
if(!info.m_deviceInfoList.empty()) \
list.push_back(info); \
}
-void CAESinkFactory::EnumerateEx(AESinkInfoList &list)
+void CAESinkFactory::EnumerateEx(AESinkInfoList &list, bool force)
{
#if defined(TARGET_WINDOWS)
ENUMERATE_SINK(DirectSound);
@@ -147,10 +147,10 @@ void CAESinkFactory::EnumerateEx(AESinkInfoList &list)
ENUMERATE_SINK(AUDIOTRACK);
#elif defined(TARGET_LINUX) || defined(TARGET_FREEBSD)
#if defined(HAS_ALSA)
- ENUMERATE_SINK(ALSA);
+ ENUMERATE_SINK(ALSA, force);
#endif
- ENUMERATE_SINK(OSS);
+ ENUMERATE_SINK(OSS, force);
#endif
}
diff --git a/xbmc/cores/AudioEngine/AESinkFactory.h b/xbmc/cores/AudioEngine/AESinkFactory.h
index 99c53f9..6f8a4e5 100644
--- a/xbmc/cores/AudioEngine/AESinkFactory.h
+++ b/xbmc/cores/AudioEngine/AESinkFactory.h
@@ -40,6 +40,6 @@ class CAESinkFactory
public:
static void ParseDevice(std::string &device, std::string &driver);
static IAESink *Create(std::string &device, AEAudioFormat &desiredFormat, bool rawPassthrough);
- static void EnumerateEx(AESinkInfoList &list);
+ static void EnumerateEx(AESinkInfoList &list, bool force = false);
};
diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp
index 410e20c..8a19ac4 100644
--- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp
+++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp
@@ -39,6 +39,7 @@
#include "Interfaces/AESink.h"
#include "Utils/AEUtil.h"
#include "Encoders/AEEncoderFFmpeg.h"
+#include <unistd.h>
using namespace std;
@@ -74,7 +75,17 @@
m_outputStageFn (NULL ),
m_streamStageFn (NULL )
{
+ unsigned int c_retry = 5;
CAESinkFactory::EnumerateEx(m_sinkInfoList);
+ while(m_sinkInfoList.size() == 0 && c_retry > 0)
+ {
+ CLog::Log(LOGNOTICE, "No Devices found - retry: %d", c_retry);
+ usleep(2000000);
+ c_retry--;
+ // retry the enumeration
+ CAESinkFactory::EnumerateEx(m_sinkInfoList, true);
+ }
+ CLog::Log(LOGNOTICE, "Found %lu Lists of Devices", m_sinkInfoList.size());
for (AESinkInfoList::iterator itt = m_sinkInfoList.begin(); itt != m_sinkInfoList.end(); ++itt)
{
CLog::Log(LOGNOTICE, "Enumerated %s devices:", itt->m_sinkName.c_str());
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
index 91218a4..b0d6bb1 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
@@ -676,11 +676,11 @@ bool CAESinkALSA::OpenPCMDevice(const std::string &name, const std::string &para
return false;
}
-void CAESinkALSA::EnumerateDevicesEx(AEDeviceInfoList &list)
+void CAESinkALSA::EnumerateDevicesEx(AEDeviceInfoList &list, bool force)
{
/* ensure that ALSA has been initialized */
snd_lib_error_set_handler(sndLibErrorHandler);
- if(!snd_config)
+ if(!snd_config || force)
snd_config_update();
snd_config_t *config;
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h
index db1ba80..c1b1c76 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h
@@ -50,7 +50,7 @@ class CAESinkALSA : public IAESink
virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio);
virtual void Drain ();
- static void EnumerateDevicesEx(AEDeviceInfoList &list);
+ static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false);
private:
CAEChannelInfo GetChannelLayout(AEAudioFormat format);
void GetAESParams(const AEAudioFormat format, std::string& params);
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp
index e8a7876..8f23b41 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp
@@ -236,7 +236,7 @@ void CAESinkAUDIOTRACK::SetVolume(float volume)
m_volume_changed = true;
}
-void CAESinkAUDIOTRACK::EnumerateDevicesEx(AEDeviceInfoList &list)
+void CAESinkAUDIOTRACK::EnumerateDevicesEx(AEDeviceInfoList &list, bool force)
{
m_info.m_channels.Reset();
m_info.m_dataFormats.clear();
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h
index 46b3551..bbb7856 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h
@@ -43,7 +43,7 @@ class CAESinkAUDIOTRACK : public CThread, public IAESink
virtual void Drain ();
virtual bool HasVolume ();
virtual void SetVolume (float volume);
- static void EnumerateDevicesEx(AEDeviceInfoList &list);
+ static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false);
private:
virtual void Process();
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp
index 4d3d41e..c9680e7 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp
@@ -464,7 +464,7 @@ double CAESinkDirectSound::GetCacheTotal()
return (double)m_dwBufferLen / (double)m_AvgBytesPerSec;
}
-void CAESinkDirectSound::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList)
+void CAESinkDirectSound::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList, bool force)
{
CAEDeviceInfo deviceInfo;
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h
index 9f54090..2e6209b 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h
@@ -43,7 +43,7 @@ class CAESinkDirectSound : public IAESink
virtual double GetCacheTime ();
virtual double GetCacheTotal ();
virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio);
- static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList);
+ static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList, bool force = false);
private:
void AEChannelsFromSpeakerMask(DWORD speakers);
DWORD SpeakerMaskFromAEChannels(const CAEChannelInfo &channels);
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp
index 06b9a7f..970e236 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp
@@ -427,7 +427,7 @@ void CAESinkOSS::Drain()
// ???
}
-void CAESinkOSS::EnumerateDevicesEx(AEDeviceInfoList &list)
+void CAESinkOSS::EnumerateDevicesEx(AEDeviceInfoList &list, bool force)
{
int mixerfd;
const char * mixerdev = "/dev/mixer";
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h
index aa8a9f8..7e2db8b 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h
@@ -43,7 +43,7 @@ class CAESinkOSS : public IAESink
virtual double GetCacheTotal () { return 0.0; } /* FIXME */
virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio);
virtual void Drain ();
- static void EnumerateDevicesEx(AEDeviceInfoList &list);
+ static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false);
private:
int m_fd;
std::string m_device;
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp
index 8475d60..f238d75 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp
@@ -559,7 +559,7 @@ bool CAESinkWASAPI::SoftResume()
return false;
}
-void CAESinkWASAPI::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList)
+void CAESinkWASAPI::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList, bool force)
{
IMMDeviceEnumerator* pEnumerator = NULL;
IMMDeviceCollection* pEnumDevices = NULL;
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h
index a0c567a..7111ea9 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h
@@ -45,7 +45,7 @@ class CAESinkWASAPI : public IAESink
virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio);
virtual bool SoftSuspend ();
virtual bool SoftResume ();
- static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList);
+ static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList, bool force = false);
private:
bool InitializeExclusive(AEAudioFormat &format);
void AEChannelsFromSpeakerMask(DWORD speakers);
@@ -78,4 +78,4 @@ class CAESinkWASAPI : public IAESink
unsigned int m_uiBufferLen; /* wasapi endpoint buffer size, in frames */
double m_avgTimeWaiting; /* time between next buffer of data from SoftAE and driver call for data */
double m_sinkLatency; /* time in seconds of total duration of the two WASAPI buffers */
-};
\ No newline at end of file
+};
--
1.7.10
From b236f0a78079f522f8f9743098820e6301e27625 Mon Sep 17 00:00:00 2001
From: fritsch <peter.fruehberger@gmail.com>
Date: Fri, 1 Feb 2013 13:05:24 +0100
Subject: [PATCH 2/2] AE: recreate alsa source tree to find new devices
---
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
index b0d6bb1..61848a1 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
@@ -681,7 +681,13 @@ void CAESinkALSA::EnumerateDevicesEx(AEDeviceInfoList &list, bool force)
/* ensure that ALSA has been initialized */
snd_lib_error_set_handler(sndLibErrorHandler);
if(!snd_config || force)
+ {
+ if(force)
+ snd_config_update_free_global();
+
snd_config_update();
+ }
+
snd_config_t *config;
snd_config_copy(&config, snd_config);
--
1.7.10

View File

@ -49,28 +49,29 @@ cd $PKG_BUILD
--disable-gtk-doc \ --disable-gtk-doc \
--disable-debug \ --disable-debug \
--enable-threads \ --enable-threads \
--enable-loopback=builtin \
--enable-ethernet=builtin \
--enable-wifi=builtin \
--disable-bluetooth \
--disable-hh2serial-gps \ --disable-hh2serial-gps \
--disable-dundee \
--disable-wispr \
--disable-ofono \
--disable-openconnect \ --disable-openconnect \
$CONNMAN_OPENVPN \ $CONNMAN_OPENVPN \
--disable-vpnc \ --disable-vpnc \
--disable-l2tp \ --disable-l2tp \
$CONNMAN_PPTP \ $CONNMAN_PPTP \
--disable-tist \
--disable-pacrunner \
--disable-iwmx \
--disable-iospm \ --disable-iospm \
--disable-tist \
--disable-session-policy-local \
--disable-test \
--disable-nmcompat \ --disable-nmcompat \
--disable-polkit \ --disable-polkit \
--enable-client \ --disable-selinux \
--enable-loopback=builtin \
--enable-ethernet=builtin \
--enable-wifi=builtin \
--disable-bluetooth \
--disable-ofono \
--disable-dundee \
--disable-pacrunner \
--disable-wispr \
--disable-tools \ --disable-tools \
--disable-test \ --enable-client \
--enable-datafiles \ --enable-datafiles \
--disable-silent-rules \ --disable-silent-rules \

View File

@ -19,7 +19,7 @@
################################################################################ ################################################################################
PKG_NAME="connman" PKG_NAME="connman"
PKG_VERSION="1.10" PKG_VERSION="1.11"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"

View File

@ -1,12 +0,0 @@
diff -Naur connman-1.10/configure.ac connman-1.10.patch/configure.ac
--- connman-1.10/configure.ac 2012-12-22 22:52:47.000000000 +0100
+++ connman-1.10.patch/configure.ac 2013-01-12 00:54:04.975043201 +0100
@@ -2,7 +2,7 @@
AC_INIT(connman, 1.10)
AM_INIT_AUTOMAKE([foreign subdir-objects color-tests])
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS(config.h)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])

View File

@ -46,6 +46,7 @@ download () {
wget -U "$THIS_DISTRIBUTION ($THIS_ARCH): $THIS_VERSION" \ wget -U "$THIS_DISTRIBUTION ($THIS_ARCH): $THIS_VERSION" \
-c ${1}?sysid=$SYSTEMID \ -c ${1}?sysid=$SYSTEMID \
-O $2 > /dev/null 2>&1 -O $2 > /dev/null 2>&1
[ $? -ne 0 ] && exit 1
;; ;;
scp) scp)
scp $SCP_ARG "$1" $TMP_DIR scp $SCP_ARG "$1" $TMP_DIR

View File

@ -46,6 +46,7 @@ download () {
wget -U "$THIS_DISTRIBUTION ($THIS_ARCH): $THIS_VERSION" \ wget -U "$THIS_DISTRIBUTION ($THIS_ARCH): $THIS_VERSION" \
-c ${1}?sysid=$SYSTEMID \ -c ${1}?sysid=$SYSTEMID \
-O $2 > /dev/null 2>&1 -O $2 > /dev/null 2>&1
[ $? -ne 0 ] && exit 1
;; ;;
scp) scp)
scp $SCP_ARG "$1" $TMP_DIR scp $SCP_ARG "$1" $TMP_DIR