Fix of the issue that A2DP stream volume
was controlled using naive approach
with linear scaling instead of
exponential one, what resulted in
highly non-linear volume control
experience.
Fix of the issue that connecting or
disconnecting BT device while call
was in progress resulted in no sound
being heard anywhere due to audio
routing being stopped when HFP device
disconnected.
Additionally minor code cleanup.
Fix of the issue that after disconnecting
BT A2DP device during music playback
and reconnecting it without leaving
music player app the sound was not
audible anywhere.
Additionally unified behaviour of music
playback on connection/disconnection
of audio devices.
Set of fixes for Bluetooth volume control issues:
* split OS volume from A2DP device volume;
* added translations for additional popup required
to indicate what volume is being set;
* fixed issue that on some devices setting the lowest
volume level would set the highest in reality;
* fixed Bluetooth auto-turnoff functionality;
* minor code cleanup.
Fixed HSP sound quality issues:
- fixed HF caused by invalid output block size during interpolation of
the bluetooth input,
- increased block size to increase time send interval to 8ms
Fixed issue with error handling when writing to overflowed stream.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Adapted both codec and HFP profile to be able to work together.
Now it's possible to stream 2-way audio via HFP profile, but it
has to be integrated properly with EGD-7405
This refactoring removes invalid interface dependencies of the original
AudioDevice implementation:
- move things characteristic to RT1051AudioCodec to audio::codec
- remove dead methods
- make start/stop optional and codec configuration independent
- add more convenient way to get supported formats
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Replace faulty implementation which produced ambiguous results with one
which is suited for both phone calls and music playback requirements,
including A2DP and HSP Bluetooth profiles.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Added volume control feedback during music playback over Bluetooth.
Changed volume buttons handler logic in service audio to use actions
instead of messages.
Check if decoder's file format is supported by the sink audio device
before playing the sound. Add list of supported formats to each of audio
devices.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Bluetooth device volume control can be set by Pure Phone
while paired and is in A2DP mode. Temporarly disabled
HSP since it's not fully working and causing control issues.
Add basic playback capability using Bluetooth A2DP profile.
Only stereo/44100/16bit files are supported at the moment
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>