diff --git a/packages/audio/speex/patches/speex-automake-1.13.patch b/packages/audio/speex/patches/speex-automake-1.13.patch new file mode 100644 index 0000000000..3eed654271 --- /dev/null +++ b/packages/audio/speex/patches/speex-automake-1.13.patch @@ -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 diff --git a/packages/devel/json-c/patches/json-c-automake-1.13.patch b/packages/devel/json-c/patches/json-c-automake-1.13.patch new file mode 100644 index 0000000000..7a914a6922 --- /dev/null +++ b/packages/devel/json-c/patches/json-c-automake-1.13.patch @@ -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) + diff --git a/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.100.82.112-001-license.patch b/packages/linux-drivers/bcm_sta/patches/bcm_sta-001-license.patch similarity index 100% rename from packages/linux-drivers/bcm_sta/patches/bcm_sta-5.100.82.112-001-license.patch rename to packages/linux-drivers/bcm_sta/patches/bcm_sta-001-license.patch diff --git a/packages/linux-drivers/bcm_sta/patches/bcm_sta-002-user-ioctl.patch b/packages/linux-drivers/bcm_sta/patches/bcm_sta-002-user-ioctl.patch new file mode 100644 index 0000000000..1209a320de --- /dev/null +++ b/packages/linux-drivers/bcm_sta/patches/bcm_sta-002-user-ioctl.patch @@ -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: diff --git a/packages/linux-drivers/bcm_sta/patches/bcm_sta-003-linux-recent.patch b/packages/linux-drivers/bcm_sta/patches/bcm_sta-003-linux-recent.patch new file mode 100644 index 0000000000..57bc7e30ef --- /dev/null +++ b/packages/linux-drivers/bcm_sta/patches/bcm_sta-003-linux-recent.patch @@ -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 + #include + + #include +--- 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 + #define WLC_MAXBSSCFG 1 + +-#include + #include + #include + #include +@@ -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 + #include + + #include +--- 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 + #define WLC_MAXBSSCFG 1 + +-#include + #include + #include + #include +@@ -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 + }; + diff --git a/packages/linux-drivers/bcm_sta/patches/bcm_sta-004-rename-device.patch b/packages/linux-drivers/bcm_sta/patches/bcm_sta-004-rename-device.patch new file mode 100644 index 0000000000..c469beab7d --- /dev/null +++ b/packages/linux-drivers/bcm_sta/patches/bcm_sta-004-rename-device.patch @@ -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); diff --git a/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.100.82.112-002-user-ioctl.patch b/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.100.82.112-002-user-ioctl.patch deleted file mode 100644 index 76dc48a4cf..0000000000 --- a/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.100.82.112-002-user-ioctl.patch +++ /dev/null @@ -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: diff --git a/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.100.82.112-003-linux-recent.patch b/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.100.82.112-003-linux-recent.patch deleted file mode 100644 index 6037c1510c..0000000000 --- a/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.100.82.112-003-linux-recent.patch +++ /dev/null @@ -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 - #include - - #include ---- 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 - #define WLC_MAXBSSCFG 1 - --#include - #include - #include - #include -@@ -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 - }; diff --git a/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.100.82.112-004-rename-device.patch b/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.100.82.112-004-rename-device.patch deleted file mode 100644 index 36d3d27288..0000000000 --- a/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.100.82.112-004-rename-device.patch +++ /dev/null @@ -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 diff --git a/packages/mediacenter/xbmc/patches/xbmc-464-fix-no-devices-found.patch b/packages/mediacenter/xbmc/patches/xbmc-464-fix-no-devices-found.patch new file mode 100644 index 0000000000..2a3d2ca95f --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-464-fix-no-devices-found.patch @@ -0,0 +1,276 @@ +From ac29de2eff8fe144fdbe0330dc38036cf546a372 Mon Sep 17 00:00:00 2001 +From: fritsch +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 + + 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 ¶ + 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 +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 + diff --git a/packages/network/connman/build b/packages/network/connman/build index be2cebbecf..afdb36aea8 100755 --- a/packages/network/connman/build +++ b/packages/network/connman/build @@ -49,28 +49,29 @@ cd $PKG_BUILD --disable-gtk-doc \ --disable-debug \ --enable-threads \ - --enable-loopback=builtin \ - --enable-ethernet=builtin \ - --enable-wifi=builtin \ - --disable-bluetooth \ --disable-hh2serial-gps \ - --disable-dundee \ - --disable-wispr \ - --disable-ofono \ --disable-openconnect \ $CONNMAN_OPENVPN \ --disable-vpnc \ --disable-l2tp \ $CONNMAN_PPTP \ - --disable-tist \ - --disable-pacrunner \ - --disable-iwmx \ --disable-iospm \ + --disable-tist \ + --disable-session-policy-local \ + --disable-test \ --disable-nmcompat \ --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-test \ + --enable-client \ --enable-datafiles \ --disable-silent-rules \ diff --git a/packages/network/connman/meta b/packages/network/connman/meta index 400cf2e491..b0994f57a5 100644 --- a/packages/network/connman/meta +++ b/packages/network/connman/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="connman" -PKG_VERSION="1.10" +PKG_VERSION="1.11" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/network/connman/patches/connman-1.10-automake-1.13.patch b/packages/network/connman/patches/connman-1.10-automake-1.13.patch deleted file mode 100644 index d1fe520c9b..0000000000 --- a/packages/network/connman/patches/connman-1.10-automake-1.13.patch +++ /dev/null @@ -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])]) - diff --git a/packages/network/connman/patches/connman-1.10-do-not-cleanup-routes.patch b/packages/network/connman/patches/connman-do-not-cleanup-routes.patch similarity index 100% rename from packages/network/connman/patches/connman-1.10-do-not-cleanup-routes.patch rename to packages/network/connman/patches/connman-do-not-cleanup-routes.patch