And this patch has another problem. If remote device supports only one remote endpoint with SBC codec and pulseaudio export two endpoints for SBC codec (one low quality and one high quality) then into LastUsed property is stored identification of remote endpoint. Not local pulseaudio endpoint. So information if was activated low quality or high quality is lost. I have there Nokia N900 device which has problems with SBC at High Quality. It is unable to send any audio output in HQ. And due to above problem, I need to use only low quality endpoint, but because bluez does not remember which one was chosen, it seems to choose high quality and nothing is working. This is just example that some codecs or endpoints may be broken by remote device, or remote device's SEP is not compatible with user application (pulseaudio) for whatever reason. So it is really needed to have API: "use this local endpoint for creating new A2DP connection". Without it we would have broken applications. PS: A2DP SBC implementation on Nokia N900 seems to be broken, when it sees SEP with dual channel SBC it sends nonsense SBC configuration (min bitpool >> max bitpool) which is really not allowed by SBC UHQ in pulseaudio. So this is one real example of existing broken implementation which can be fixed only on client's pulseaudio side. -- Pali Rohár pali.rohar@xxxxxxxxx
Attachment:
signature.asc
Description: PGP signature