- 31 Oct, 2020 2 commits
-
-
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 6 commits
- 28 Apr, 2020 3 commits
-
-
pali authored
Remove legacy parameter for old ofono code. hsphpfd already provides MTU and MTU autodetect is working fine. For legacy HSP profile stick with 48 value as it is needed for CVSD/PCM codec.
-
pali authored
Coexistence between them is not fully working, so always use automatic mode between choosing them. Create proper type for hsphpfd and legacy hsp structures, change variable names to reflect state. And also move functions into own header files.
-
pali authored
-
- 26 Apr, 2020 2 commits
-
-
pali authored
Sometimes only bluetooth profile is connected (A2DP, HSP, HFP) for particular device. In this case pulseaudio refused to use disconnected profile. This change implements connecting of disconnected profiles and change implementation of A2DP codec switching from callback to hook method via a new PA_BLUETOOTH_HOOK_PROFILE_CONNECTION_CHANGED hook. Some bluetooth device do not allow connection of both HSP and HFP profiles at the same time. This change also handles this situation and try to first disconnect other profile if requested profile cannot be connected. Now when all bluetooth code is asynchronous (problematic non-asynchronous was dropped), this automatic connection of disconnected profiles is also non-blocking and asynchronous.
-
pali authored
-