diff options
author | Bharat Panda <bharat.panda@samsung.com> | 2015-08-28 20:02:31 +0530 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2015-08-31 14:03:43 +0300 |
commit | eac1f5d9356684f5ce2a61dd236372606425a231 (patch) | |
tree | f40eb0698986d56b33543f2940918673b59ef334 | |
parent | 24e8a284302468657d73d63179017e2b389760dd (diff) | |
download | bluez-eac1f5d9356684f5ce2a61dd236372606425a231.tar.gz |
audio/avrcp: Add player name support
Add support to player name mapping it to Identity property from MPRIS.
-rw-r--r-- | profiles/audio/media.c | 24 | ||||
-rwxr-xr-x | test/simple-player | 1 |
2 files changed, 25 insertions, 0 deletions
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), |