- 31 Oct, 2020 10 commits
-
-
Marijn Suijten authored
Set passthrough mode AFTER setting up callbacks, otherwise a volume change of 100% would be sent to the rendering device while PA meanwhile applies no attenuation (plays at max volume). This is unnaceptably loud.
-
Marijn Suijten authored
-
Marijn Suijten authored
-
pali authored
-
pali authored
-
pali authored
-
Marijn Suijten authored
The only reason to asynchronously handle a response to this call is to catch an error. A change notification for the Volume property is received anyway, allowing us to determine what the actual applied volume is. In fact, that notification is received _before_ set_volume_reply is handled: if bluez and/or the headphones report a change to a different volume this will not be caught as the _reply handler overwrites it, leading to more desyncs.
-
Marijn Suijten authored
The Volume property on org.bluez.MediaTransport1 is required to utilize Absolute Volume, but it will only become availabe if the peer device supports the feature. This happens asynchronously somewhere after the transport itself has been acquired, after which the callbacks and passthrough mode (in case of a2dp_sink) will be enabled. For safety the setup is also performed if the property is already available initially.
-
Marijn Suijten authored
Write the current volume to the `Volume` DBus property to keep the volume on the remote in sync. Without this the remote device shows the wrong volume, and any attempts to change it will cause an unexpected jump when the local volume has also been adjusted.
-
Marijn Suijten authored
-
- 25 Oct, 2020 7 commits
-
-
Marijn Suijten authored
Like the previous commit this handles `Volume` property changes but applies them to an a2dp sink instead of source stream. Only real_volume is updated to make sure the stream doesn't apply any attenuation (using software PCM) since this already happens on the sink side. In addition to receiving volume events it is also possible to control this remote volume slider by writing a new value to the DBus property. This is especially useful when playing back to in-ear audio devices which usually lack physical buttons to adjust the final volume on the sink.
-
Marijn Suijten authored
bluetooth: Implement event Volume has changed (org.bluez.MediaTransport1) in order to take into account volume changes of A2DP sources. Using A2DP and a bluetooth audio source, Pulseaudio doesn't take into account the volume modification (for device sending the event via AVRCP (ex:Apple devices)) This work aims to integrate bluez event Volume (org.bluez.MediaTransport1) for A2DP source in pulseaudio. This permits to take into account A2DP source volume changes (sent using AVRCP protocol). Change has been tested with an iphone and an ipad and is fully working. Originally written by Mathieu Tournier <mathieutournier@gmail.com> this commit has been altered to account for generalized volume callbacks and includes various logic changes/fixes, and as such has its author reset due to the vast number of changes I do not feel comfortable holding a different author responsible for. The orignal commit message and title have been preserved though.
-
Marijn Suijten authored
-
pali authored
-
pali authored
-
pali authored
-
pali authored
-
- 16 Aug, 2020 3 commits
- 12 Jun, 2020 4 commits
- 04 Jun, 2020 3 commits
-
-
Paweł Chmielowski authored
Without this after changing profile/reconnecting device volume was set to maximum.
-
pali authored
-
pali authored
-
- 15 May, 2020 2 commits
- 10 May, 2020 3 commits
- 01 May, 2020 5 commits
-
-
pali authored
In A2DP context there is no microphone and in HSP/HFP AG roles is microphone and speaker definition switched. So for local socket names rx and tx are unambiguous.
-
pali authored
Microphone and Speaker volume control API was broken for AG role. This API change use TxVolumeGain and RxVolumeGain names so they would mean same thing in both HF and AG roles.
-
pali authored
Ensure that transport has still allocated memory when hooks (triggered by pa_bluetooth_transport_set_state) are calling
-
pali authored
-
pali authored
-
- 30 Apr, 2020 3 commits