Description
Bug Report
With the new router service logic, media apps are connecting over AOA (USB) and unable to play media.
When starting the AOA protocol, the head unit will send a product ID (see AOA spec) which can be used to determine if the head unit supports audio or not. This information should be used in determining whether or not to connect a media app to a router service using AOA.
In our testing some devices don't support media over AOA. When connected over USB the device will still sent the audio via A2DP. Samsung devices were among the devices that observed this behavior.
Because of the inconsistency with devices, we decided not to support media over AOA on SYNC head units. I propose we provide a hot fix to not allow media apps to connect to a router service that's connected via AOA until we can better determine if both the head unit and device support media over AOA before connecting.
Worth noting that with the 4.8 library, we are able to specify transport(s) to be used. Older libraries using the router service will still connect via AOA when any router service connects via AOA. Another possible hot fix is to require apps using the 4.8 library to specify their transport and only allowing apps with 4.8+ to connect to a router service over AOA. Again, another temporary solution until we can determine if both the head unit and device support media over AOA and then connecting.
Reproduction Steps
- Install app that supports AOA (Hello SDL)
- Install media app using the router service
- Connect phone via USB and select the AOA app when prompted on device
Expected Behavior
Media apps will only connect over AOA if both the device and head unit support it
Observed Behavior
Media app connects over AOA and is unable to play media
OS & Version Information
- Android Version: 9
- SDL Android Version: 4.8
- Testing Against: SYNC Gen 3