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>
This commit is contained in:
Marijn Suijten 2022-05-19 22:38:26 +02:00 committed by PulseAudio Marge Bot
parent 7f76edb907
commit 0adb12e099

View file

@ -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);