From dd662fdfbe9985bd5eef6040c9f2beb616cc4753 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Tue, 26 Feb 2013 14:36:22 +0200 Subject: [PATCH] player: Only expose Track property if there is metadata If no metadata is set there is no point in exposing it. --- profiles/audio/player.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/profiles/audio/player.c b/profiles/audio/player.c index b77c34911..c09106d62 100644 --- a/profiles/audio/player.c +++ b/profiles/audio/player.c @@ -267,6 +267,13 @@ static void set_setting(const GDBusPropertyTable *property, player_set_setting(mp, id, property->name, value); } +static gboolean track_exists(const GDBusPropertyTable *property, void *data) +{ + struct media_player *mp = data; + + return g_hash_table_size(mp->track) != 0; +} + static gboolean get_track(const GDBusPropertyTable *property, DBusMessageIter *iter, void *data) { @@ -594,7 +601,7 @@ static const GDBusPropertyTable media_player_properties[] = { G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, { "Scan", "s", get_setting, set_setting, setting_exists, G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Track", "a{sv}", get_track, NULL, NULL, + { "Track", "a{sv}", get_track, NULL, track_exists, G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, { "Device", "o", get_device, NULL, NULL, G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, -- 2.47.3