diff options
author | Marijn Suijten <marijns95@gmail.com> | 2022-05-19 22:38:26 +0200 |
---|---|---|
committer | PulseAudio Marge Bot <pulseaudio-maintainers@lists.freedesktop.org> | 2022-05-23 15:19:44 +0000 |
commit | 0adb12e099fa2fdf4a1753f2c8d729cbb26e928b (patch) | |
tree | a6ee6a1f3a44e47c15eb94bf06d2d78b174a9237 | |
parent | 7f76edb9079f80f3f63ec70e24ef9b18e155f743 (diff) | |
download | pulseaudio-0adb12e099fa2fdf4a1753f2c8d729cbb26e928b.tar.gz |
bluetooth: Demote "No such property 'Volume'" error to warning
The AVRCP service is known to not be connected before the A2DP transport
is, resulting in PulseAudio asking BlueZ for an initial 'Volume' value
but not getting it because the property doesn't exist.
To prevent end-users from conjecturing this to be the source of whatever
issue they're observing, demote it to a warning.
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/707>
-rw-r--r-- | src/modules/bluetooth/bluez5-util.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/modules/bluetooth/bluez5-util.c b/src/modules/bluetooth/bluez5-util.c index 83f2932e9..596f008cb 100644 --- a/src/modules/bluetooth/bluez5-util.c +++ b/src/modules/bluetooth/bluez5-util.c @@ -788,6 +788,7 @@ static void get_volume_reply(DBusPendingCall *pending, void *userdata) { pa_bluetooth_transport *t; uint16_t gain; pa_volume_t volume; + const char *error_name, *error_message; pa_assert(pending); pa_assert_se(p = userdata); @@ -796,10 +797,18 @@ static void get_volume_reply(DBusPendingCall *pending, void *userdata) { pa_assert_se(r = dbus_pending_call_steal_reply(pending)); if (dbus_message_get_type(r) == DBUS_MESSAGE_TYPE_ERROR) { - pa_log_error(DBUS_INTERFACE_PROPERTIES ".Get %s Volume failed: %s: %s", - dbus_message_get_path(p->message), - dbus_message_get_error_name(r), - pa_dbus_get_error_message(r)); + error_name = dbus_message_get_error_name(r); + error_message = pa_dbus_get_error_message(r); + + if (pa_streq(error_name, DBUS_ERROR_INVALID_ARGS) && pa_streq(error_message, "No such property 'Volume'")) { + pa_log_warn(DBUS_INTERFACE_PROPERTIES ".Get %s Volume property not (yet) available", + dbus_message_get_path(p->message)); + } else { + pa_log_error(DBUS_INTERFACE_PROPERTIES ".Get %s Volume failed: %s: %s", + dbus_message_get_path(p->message), + error_name, + error_message); + } goto finish; } dbus_message_iter_init(r, &iter); |