From 0109fa0b6fa731c00b4c6b78d5694b2aaa088862 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz 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