Part Number: CC2564CSTBTBLESW
Other Parts Discussed in Thread: CC2564C,
We're using a CC2564C chip with CC2564CSTBTBLESW 4.2.1.0 for A2DP audio sink and source application. I've implemented AVRCP volume synchronization the following way:
- The sink is taking AVRCP target role with SDP_AVRCP_SUPPORTED_FEATURES_TARGET_CATEGORY_1, the AVRCP version is set to 1.4 (it also takes controller role to fetch track data from source)
- The sink is responding with AVRCP_EVENT_VOLUME_CHANGED event capability support to amtGetCapabilities command
- The sink is responding with local volume data when amtRegisterNotification AVRCP_EVENT_VOLUME_CHANGED command is received
- The sink has 0x110B, 0x110E and 0x110C service UUIDs in its extended inquiry info (also 0x110F for AVRCP controller role)
- The sink has 0x240414 device class
The result is that iOS phones register to volume event notifications, and send setAbsoluteVolume commands as expected. The same cannot be said for Android phones, they don't even send a GetCapabilities command to find out the AVRCP event support. The same Android phones can synchronize their volume to other Bluetooth speakers, so it's not that the support is missing on the phone side. Any ideas about what's missing?