From eac1f5d9356684f5ce2a61dd236372606425a231 Mon Sep 17 00:00:00 2001 From: Bharat Panda Date: Fri, 28 Aug 2015 20:02:31 +0530 Subject: [PATCH] audio/avrcp: Add player name support Add support to player name mapping it to Identity property from MPRIS. --- profiles/audio/media.c | 24 ++++++++++++++++++++++++ test/simple-player | 1 + 2 files changed, 25 insertions(+) diff --git a/profiles/audio/media.c b/profiles/audio/media.c index cad9cceac..6c253634c 100644 --- a/profiles/audio/media.c +++ b/profiles/audio/media.c @@ -112,6 +112,7 @@ struct media_player { bool next; bool previous; bool control; + char *name; }; static GSList *adapters = NULL; @@ -964,6 +965,7 @@ static void media_player_free(gpointer data) g_free(mp->sender); g_free(mp->path); g_free(mp->status); + g_free(mp->name); g_free(mp); } @@ -1607,6 +1609,25 @@ static gboolean set_flag(struct media_player *mp, DBusMessageIter *iter, return TRUE; } +static gboolean set_name(struct media_player *mp, DBusMessageIter *iter) +{ + const char *value; + + if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) + return FALSE; + + dbus_message_iter_get_basic(iter, &value); + + if (g_strcmp0(mp->name, value) == 0) + return TRUE; + + g_free(mp->name); + + mp->name = g_strdup(value); + + return TRUE; +} + static gboolean set_player_property(struct media_player *mp, const char *key, DBusMessageIter *entry) { @@ -1647,6 +1668,9 @@ static gboolean set_player_property(struct media_player *mp, const char *key, if (strcasecmp(key, "CanControl") == 0) return set_flag(mp, &var, &mp->control); + if (strcasecmp(key, "Identity") == 0) + return set_name(mp, &var); + DBG("%s not supported, ignoring", key); return TRUE; diff --git a/test/simple-player b/test/simple-player index a8ae0b1cd..02754c2f4 100755 --- a/test/simple-player +++ b/test/simple-player @@ -43,6 +43,7 @@ class Player(dbus.service.Object): self.properties = dbus.Dictionary({ "PlaybackStatus" : "playing", + "Identity" : "SimplePlayer", "LoopStatus" : "None", "Rate" : dbus.Double(1.0), "Shuffle" : dbus.Boolean(False), -- 2.47.3