Codec management when multiple devices are connected
Problem: For A2DP sink, when multiple devices are connected, there is an issue of managing the codecs. The cached codec is updated based on decoder update event. As a result, the active device's codec is overriden with the other device codec. Also, when the active device is changed, the decoder interface gets initailzed to null and doesn't get re-initialized. As a result if muisc is played, then the stack crashes. Solution: Store the codec at peer device level and remove the single cached codec. The codec is retrieved based on the peer address's codec. Also, when a new session is started, then the decoder interface is initialized. Subsequently, the packets are decoded based on the device's codec information rather than the cached codec. Test: m (launch seahawk-trunk-userdebug) Bug: 302730596 Bug: 346409266 Bug: 339264791 Change-Id: Ibdf1db82547cbbbf5f38612b24587185d2dc87db
Loading
Please register or sign in to comment