diff options
Diffstat (limited to 'extra/bluez/fix-a2dp.patch')
-rw-r--r-- | extra/bluez/fix-a2dp.patch | 68 |
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 + |