From: Luiz Augusto von Dentz Date: Fri, 10 May 2013 11:02:06 +0000 (+0300) Subject: media: Ignore signess for D-Bus int types X-Git-Tag: android-x86-4.4-r3~8179 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=666209d25c678271a2d33344f02614b0c48e4865;p=android-x86%2Fexternal-bluetooth-bluez.git media: Ignore signess for D-Bus int types Some players such as Spotify implements some properties that are defined in MPRIS as int64 as uint64 which makes it fail to register. --- diff --git a/profiles/audio/media.c b/profiles/audio/media.c index 33847e5af..ce674d06a 100644 --- a/profiles/audio/media.c +++ b/profiles/audio/media.c @@ -1322,8 +1322,12 @@ static gboolean parse_int64_metadata(struct media_player *mp, const char *key, { uint64_t value; char valstr[20]; + int type; - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_INT64) + type = dbus_message_iter_get_arg_type(iter); + if (type == DBUS_TYPE_UINT64) + warn("expected DBUS_TYPE_INT64 got DBUS_TYPE_UINT64"); + else if (type != DBUS_TYPE_INT64) return FALSE; dbus_message_iter_get_basic(iter, &value); @@ -1345,8 +1349,12 @@ static gboolean parse_int32_metadata(struct media_player *mp, const char *key, { uint32_t value; char valstr[20]; + int type; - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_INT32) + type = dbus_message_iter_get_arg_type(iter); + if (type == DBUS_TYPE_UINT32) + warn("expected DBUS_TYPE_INT32 got DBUS_TYPE_UINT32"); + else if (type != DBUS_TYPE_INT32) return FALSE; dbus_message_iter_get_basic(iter, &value);