- 01 May, 2020 4 commits
-
-
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 27 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
-
pali authored
-
pali authored
Properly stop bluetooth transport when bluez is asking for it. This is required for correct co-operation with hsphpfd bluetooth daemon.
-
pali authored
This is required for correct co-operation with hsphpfd bluetooth daemon.
-
pali authored
-
pali authored
-
pali authored
-
pali authored
-
pali authored
-
pali authored
This is needed by hsphfpd as hsphfpd may change at runtime softvolume status of particular active audio transport.
-
pali authored
-
pali authored
SCO socket is changed to non-blocking mode, blocking mode of connect() is not used anymore and as a result transport state is correctly set to PA_BLUETOOTH_TRANSPORT_STATE_PLAYING.
-
pali authored
This removes the last blocking IPC calls from bluetooth code base.
-
pali authored
-
pali authored
-
pali authored
-
pali authored
This is fixes interferences with hsphpfd daemon.
-
pali authored
-
pali authored
This is fixes registering HSP profile by hsphpfd daemon.
-
pali authored
This would allow to choose or change between HSP and HFP by user. As more headsets have broken one of them is is needed that user would have control which one would like to use.
-
pali authored
bluetooth: Set all new streams to suspended state and remove argument "optional" from transport acquire function Now when broken local AudioGateway role was removed there is no need to have special (and moreover non-working) hacks for it in transport code. This would allow to create streams for all transports immediately in suspended state, so applications can bind to them. A2DP source profiles can be also initialized via "Acquire" method, so there not need to "TryAcquire" method for them. Special handling is needed only for SCO master sockets which are not handled by pulseaudio anymore. Moreover is is possible to do it in smarter way, like in hsphfpd daemon.
-
pali authored
It was called only from the pa_bluetooth_transport_free() function and therefore it not needed.
-
pali authored
There were swapped +VGS and +VGM commands which likely caused that speaker volume up key on headset increased microphone gain. Thanks to leading space in sscanf format, parsing of VGS and VGM commands is whitespace agnostic. And because pulseaudio does not support other commands then VGS and VGM, it is needed to inform about this fact remote headset by ERROR reply. Also some buggy headsets for ERROR reply send another ERROR command request, so we need to ignore ERROR command.
-
pali authored
It is broken and moreover it is initialized even for local Headset role which means that this code is breaking also all other Headset role implementations in system, including hsphfpd.
-
pali authored
-
pali authored
It is really legacy code which supports only HSP profile. Also handling of master SCO socket in AG role is broken.
-