Parent: e21680c9355a0f9d5ef6d4a5ae032de274e87b37
Author: Marijn Suijten <marijn.suijten@somainline.org>
Committer: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2021-08-09 23:33:53
Tree: 303d52480019ea4abb18279f38bd7692ebcad84b
audio/transport: Only store volume when also emitting DBus prop change By setting a2dp->volume early in set_volume() the resulting call to media_transport_update_volume() when an AVRCP reply is received will likely see the same volume received (unless the peer rounded it to another value) and bail on equality, before emitting a DBus property change. This results in DBus clients not being made aware of the change unless the peer is an audio source (that receives a notification about changed volume, instead of a command to _set_ a new volume), where set_volume() immediately raises the DBus signal. This issue is observed when playing back audio to headphones through an AbsoluteVolume-enabled audio server like PulseAudio, which does not receive the "Volume" change (while the peer does change volume) when setting this property externally using ie. dbus-send.
Diffstat
| M | profiles/audio/transport.c | | | 6 | +++- - - |
1 files changed, 3 insertions(+), 3 deletions(-)