I've been having trouble with the sound quality of with my Motorola Roadster 2. Basically this is a bluetooth In-Car speakerphone that can stream incoming media audio to my FM radio, so I can enjoy listening to my music library in my car that has no 3.5mm jack.
I always thought that the sound quality was mediocre due to the FM remodulation, that is, until I connected an iPad to it and played some songs over it. The quality was absolutely better than that of my Android phone.
Apple has a different bluetooth stack for their devices obviously, so I've started looking into this. I've used this Stack Exchange answer to find out what codec my Samsung Galaxy S3 was using when streaming to the device. It seems that the Roadster 2 uses the A2DP profile and supports SBC as well as MPEG-1.2 codecs, but the phone chooses the inferior SBC after checking the capabilities for some obscure reason. Some research suggests that SBC is not recommended for music streaming because quality is not ideal, so my guess was to try using the MPEG-1.2 codec instead.
However, after some very thorough digging, I cannot, for the love of God, find any configuration to try and force the MPEG-1.2 codec with the Bluedroid Bluetooth Stack that is used with Android 4.2+ . The old BlueZ stack had an option in its configuration file (
/system/etc/bluetooth/audio.conf) to enable a different codec, but it doesn't work anymore with the new Bluedroid stack. Is there a similar way to force a different codec than SBC?
I'm using Android 5.1 (Cyanogenmod 12.1 to be exact).