Bluedroid AV 连接失败(BTAV_CONNECTION_STATE_DISCONNECTED 状态)

Bluedroid AV connection fails (BTAV_CONNECTION_STATE_DISCONNECTED state)

我正在使用 Bluedroid 堆栈来开发我的蓝牙应用程序。

我正在使用 A2DP src 配置文件在移动设备和我的设备之间建立连接。

我在以下情况下遇到问题:

当我从 A2DP SINK 配置文件切换到 A2DP Source 配置文件时,来自移动站点的第一个连接请求总是失败。 在第一次连接请求之后它总是成功。

我发现失败的原因是:

AV 连接状态正在从 BTAV_CONNECTION_STATE_CONNECTING ... ... BTAV_CONNECTION_STATE_DISCONNECTED

我检查了 Bluedrod Stack 中的流程,发现流式传输打开失败,因此我的应用收到了 BTAV_CONNECTION_STATE_DISCONNECTED 事件。

如有任何帮助,我们将不胜感激。 更多信息请评论。

bluedroid 堆栈中的失败状态为 BTA_AV_FAIL_STREAM

我得到了这个问题的answer/solution。

高通工程师已提供补丁解决问题。

只要在 A2DP 同步和 A2DP src 配置文件之间切换,SDP 记录就不会正确设置,因为第一个连接请求被拒绝。 当第一次发生拒绝时,它会在 SDP 记录中正确设置 A2DP SRC 的值,并且由于进一步的连接请求被接受。