summaryrefslogtreecommitdiff
path: root/extra/bluez/fix-a2dp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/bluez/fix-a2dp.patch')
-rw-r--r--extra/bluez/fix-a2dp.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/extra/bluez/fix-a2dp.patch b/extra/bluez/fix-a2dp.patch
new file mode 100644
index 000000000..e4bb1372a
--- /dev/null
+++ b/extra/bluez/fix-a2dp.patch
@@ -0,0 +1,68 @@
+From 0109fa0b6fa731c00b4c6b78d5694b2aaa088862 Mon Sep 17 00:00:00 2001
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+Date: Thu, 26 Jan 2012 23:39:02 +0200
+Subject: [PATCH] audio: Fix disabling local A2DP endpoints when UNIX socket
+ is disabled
+
+Local endpoints can only be used when UNIX socket API is available.
+---
+ audio/a2dp.c | 15 +++++++--------
+ 1 files changed, 7 insertions(+), 8 deletions(-)
+
+diff --git a/audio/a2dp.c b/audio/a2dp.c
+index 5ca105c..bbb91ce 100644
+--- a/audio/a2dp.c
++++ b/audio/a2dp.c
+@@ -1388,9 +1388,9 @@ static struct a2dp_server *find_server(GSList *list, const bdaddr_t *src)
+
+ int a2dp_register(DBusConnection *conn, const bdaddr_t *src, GKeyFile *config)
+ {
+- int sbc_srcs = 1, sbc_sinks = 1;
++ int sbc_srcs = 0, sbc_sinks = 0;
+ int mpeg12_srcs = 0, mpeg12_sinks = 0;
+- gboolean source = TRUE, sink = FALSE, socket = TRUE;
++ gboolean source = TRUE, sink = FALSE, socket = FALSE;
+ gboolean delay_reporting = FALSE;
+ char *str;
+ GError *err = NULL;
+@@ -1410,6 +1410,8 @@ int a2dp_register(DBusConnection *conn, const bdaddr_t *src, GKeyFile *config)
+ source = TRUE;
+ if (strstr(str, "Source"))
+ sink = TRUE;
++ if (strstr(str, "Socket"))
++ socket = TRUE;
+ g_free(str);
+ }
+
+@@ -1429,18 +1431,14 @@ int a2dp_register(DBusConnection *conn, const bdaddr_t *src, GKeyFile *config)
+ }
+
+ /* Don't register any local sep if Socket is disabled */
+- if (socket == FALSE) {
+- sbc_srcs = 0;
+- sbc_sinks = 0;
+- mpeg12_srcs = 0;
+- mpeg12_sinks = 0;
++ if (socket == FALSE)
+ goto proceed;
+- }
+
+ str = g_key_file_get_string(config, "A2DP", "SBCSources", &err);
+ if (err) {
+ DBG("audio.conf: %s", err->message);
+ g_clear_error(&err);
++ sbc_srcs = 1;
+ } else {
+ sbc_srcs = atoi(str);
+ g_free(str);
+@@ -1459,6 +1457,7 @@ int a2dp_register(DBusConnection *conn, const bdaddr_t *src, GKeyFile *config)
+ if (err) {
+ DBG("audio.conf: %s", err->message);
+ g_clear_error(&err);
++ sbc_sinks = 1;
+ } else {
+ sbc_sinks = atoi(str);
+ g_free(str);
+--
+1.7.6.5
+