Bug #115061

【BSP】【EVT2】【BT】【蓝牙】副屏在语音通话结束后,播放音乐,蓝牙耳机播放无声。

Added by CDTS_TEST 刘勇 over 2 years ago. Updated over 2 years ago.

Status:CLOSEDStart date:2023-01-04
Priority:NormalDue date:2023-03-13
Assignee:CD Test赵飞% Done:

100%

Category:AUDIO-FW
Target version:VX1_MCE_FSE_0078_20230228
Need_Info:-- Found Version:FlatBuild_HH_VX1_MCE_FSE.M.D.user.01.00.X101.202212310352
Resolution:FIXED Degrated:--
Severity:Major Verified Version:
Reproducibility:Every time Fixed Version:2023-03-22
Test Type:ST Root cause:在蓝牙切换时强制重置a2dp配置

Description

【前提条件】
None

【测试步骤】
1.DUT链接蓝牙耳机
2.DUT安装 QQ应用、辅助机器安装QQ应用同时播放音乐
3.DUT和辅助机器语音通话,通话3分钟结束
4.再次进入音乐APK播放音乐(本地歌曲且之前可播放)

【预期结果】
4.播放音乐后,蓝牙耳机有音乐播放

【实际结果】
4.播放音乐后,蓝牙耳机无声、重新链接蓝牙音响后,播放音乐无声

【蓝牙耳机】:Redmi AirDots3(5.2)、Shinco、Baseus Encok

【恢复方式】恢复出厂设置
【复现概率次数】2/2

new 112.txt Magnifier (957 KB) 移动测试一组_CDTS 刘强, 2023-02-09 17:12

logcat20230209.log (32.9 MB) 移动测试一组_CDTS 刘强, 2023-02-09 17:13

History

#1 Updated by CDTS_TEST 刘勇 over 2 years ago

由于LOG日志较大,上传在云空间中
log地址:https://thundersoft.feishu.cn/file/boxcnLx4WWQ1fKuPC0n3U1Gnnzb

#2 Updated by CDTS_TEST 刘勇 over 2 years ago

  • Category changed from BSP to AUDIO-FW

#3 Updated by CD MM陈海波 over 2 years ago

音乐播放没有声音主要是蓝牙断开了, 此时设备会选择speaker播放,
但是测试的环境中没有中控, 那么就没有声音输出.

具体的log如下:

//newProfileState为0, 即断开状态. 
12-31 22:14:18.504  1954  2260 D CachedBluetoothDevice: onProfileStateChanged: profile HEADSET, device Shinco, newProfileState 0
12-31 22:14:18.514 19451 19451 D CachedBluetoothDevice: onProfileStateChanged: profile HEADSET, device Shinco, newProfileState 0
//播放消息: 0x80即是蓝牙设备
12-31 22:14:18.538   805  4540 D audio_hw_primary: start_output_stream: enter: stream(0xecb04330)usecase(1: low-latency-playback) devices(0x80) is_haptic_usecase(0)
...
12-31 22:14:19.095   805  4540 D audio_hw_primary: start_output_stream: enter: stream(0xecb04330)usecase(1: low-latency-playback) devices(0x80) is_haptic_usecase(0)
//蓝牙断开状态传入audio侧: state=0
12-31 22:14:19.153  1488  1769 I AS.AudioDeviceBroker: handleBluetoothA2dpActiveDeviceChangeExt  state=0 addr=11:F5:F4:BC:88:3E prof=2 supprNoisy=false vol=-1
12-31 22:14:19.155   805  4540 D audio_hw_primary: start_output_stream: enter: stream(0xecb04330)usecase(1: low-latency-playback) devices(0x80) is_haptic_usecase(0)
//由于蓝牙已经断开了, 所以没有对应的A2DP profile
12-31 22:14:19.155   805  4540 E audio_hw_primary: start_output_stream: A2DP profile is not ready, return error
...
12-31 22:14:19.182   805  4540 E audio_hw_primary: start_output_stream: A2DP profile is not ready, return error
//蓝牙断开状态传入audio侧: state=0, 即蓝牙处于断开状态.
12-31 22:14:19.228  1488  1769 I AS.AudioDeviceBroker: msg: setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent  state=0 addr=11:F5:F4:BC:88:3E prof=2 supprNoisy=false vol=-1
12-31 22:14:19.229  1488  1769 E AS.AudioDeviceInventory: invalid null DeviceInfo in setBluetoothA2dpDeviceConnectionState
//audiofocus, 请求播放音乐
12-31 22:29:14.281  1488  6241 I MediaFocusControl: requestAudioFocus() from uid/pid 10089/32547 AA=USAGE_MEDIA/CONTENT_TYPE_MUSIC clientId=android.media.AudioManager@843a749com.android.music.MediaPlaybackService$4@d3ca84e callingPack=com.android.music req=1 flags=0x0 sdk=31
//由于蓝牙处于断开状态, 使用的设备为speaker (0x2)
12-31 22:29:14.297   805  1806 D audio_hw_primary: adev_open_output_stream: enter: format(0x1000000) sample_rate(44100) channel_mask(0x3) devices(0x2) flags(0x31)        stream_handle(0xecb0eb00) address()
12-31 22:29:14.382   805 32626 D audio_hw_primary: start_output_stream: enter: stream(0xecb0eb00)usecase(3: compress-offload-playback) devices(0x2) is_haptic_usecase(0)

从log来分析, audio侧的逻辑是正常的.
目前需要蓝牙模块看下, 蓝牙自动断开的情况是否为正常的情况.

多谢!

#4 Updated by CD MM陈海波 over 2 years ago

  • Due date set to 2023-01-19

#5 Updated by CD MM陈海波 over 2 years ago

  • Category changed from AUDIO-FW to LC
  • Assignee changed from CD MM陈海波 to CD LC 陶洪普

Hi, 洪普,

蓝牙耳机播放无声, 主要是由于蓝牙状态断开导致.
因为蓝牙断开, 设备就会选择使用speaker, 但现在测试问题的环境没有中控连接, 不会出声音, 所以看似没有声音输出.
从mm framework逻辑分析, 这种情况是正常的表现行为.

现在需要蓝牙侧分析下, 蓝牙连接的状态是否正常的比较表现(比如蓝牙连接上但对外提供的是disconected状态?)?

多谢!

#6 Updated by CD LC 陶洪普 over 2 years ago

  • Due date changed from 2023-01-19 to 2023-02-08

更新:
提交了patch,本地编译验证中。

#7 Updated by 物联网测试组_CDTS 段小刚 over 2 years ago

验证结果:使用patch版本,微信通话没有声音;恢复出厂设置后,微信通话有声,3分钟挂断后,播放音乐,蓝牙耳机能听到
验证设备:VC1设备、蓝牙耳机Oppo Enco w1、微信

#8 Updated by CD LC 陶洪普 over 2 years ago

  • Status changed from New to NEED_INFO
  • Assignee changed from CD LC 陶洪普 to 物联网测试组_CDTS 段小刚

Hi 小刚

今天使用20230204 DB版本复测了这个用例,我这边不能浮现这个现象.
在停止QQ语音通话后, 播放音乐有声音.使用的蓝牙耳机(Vivo TWS Neo).
请帮忙在新版本上复测这个现象, 有发现请及时联系我们,谢谢!

#9 Updated by 物联网测试组_CDTS 段小刚 over 2 years ago

验证版本:202302050304
验证步骤:测试步骤更正——需要在Figure设备播放音乐中,再给其打语音电话,从而验证通话结束后,音乐是否回继续播放
验证结果:耳机——Oppo Enco W51,音乐播放中来电,通话结束后,音乐继续播放,蓝牙耳机有声。

#10 Updated by 物联网测试组_CDTS 段小刚 over 2 years ago

连续3天版本,均未复现中断测试的问题。
在播放音乐中,打来语音,通话结束后,音乐会自动继续播放

#11 Updated by 移动测试一组_CDTS 刘强 over 2 years ago

  • File new 112.txtMagnifier added
  • Status changed from NEED_INFO to ASSIGNED
  • Assignee changed from 物联网测试组_CDTS 段小刚 to CD LC 陶洪普

问题复现,重新上传新log

#14 Updated by CD TPM-王祥林 over 2 years ago

  • Target version set to VC1_FSE_0082_20230314

#15 Updated by CD LC 陶洪普 over 2 years ago

  • Status changed from ASSIGNED to NEED_INFO
  • Assignee changed from CD LC 陶洪普 to CD Test赵飞

Hi 赵飞

请帮忙抓取下HCI,QXDM和打开BT 日志开关的完整日志,记录发生的时间点.谢谢!
----------------
Bluetooth logs抓取步骤
・按照QXDM的步骤,抓取Bluetooth的QXDM日志。
・按照以下步骤,抓取其他Bluetooth日志。

前提条件:
1.在要测试的Hornbill设备上执行以下内容。
Settings -> System -> Developer options -> Enable Bluetooth HCI snoop log -> "Enabled"

抓取步骤:
1. 在PC的命令行输入以下命令
$ adb root
$ adb disable-verity
$ adb reboot
$ adb root
$ adb remount
$ adb push bt_stack.conf /etc/bluetooth/
$ adb shell setprop persist.bluetooth.btsnoopsize 150
$ adb shell setprop persist.bluetooth.btsnooplogmode full
※bt_stack.conf文件在使用右侧附件。

2. 关闭Bluetooth

3. 使用以下命令抓取logcat log:
$ adb logcat -c
$ adb logcat -G 16M
$ adb logcat -b all -v threadtime > logcat.log

4. 开启Bluetooth后,进行故障复现测试。
5. 使用以下命令抓取btsnoop log。
$ adb pull /data/misc/bluetooth/logs

6. 请上传 "logcat.log" 以及第5步抓取的 "logs"文件夹

谢谢!

#16 Updated by CD Test赵飞 over 2 years ago

  • Status changed from NEED_INFO to ASSIGNED
  • Assignee changed from CD Test赵飞 to CD LC 陶洪普

Hi,洪普

已使用2/23号release版本重新复现此问题并按照要求抓取了log,log见FTP:
ftp://cdiot@192.168.87.46/Pre_figure/Test_Log/Bug_115061/Log_2023_0223_0312.zip
※Log名称即问题出现的时间点

#17 Updated by CD LC 陶洪普 over 2 years ago

根据提供的日志,高通分析是Audio问题,提供了patch
检查发现,patch已在当前版本中合入了.
需要另分析原因.

#18 Updated by CD LC 陶洪普 over 2 years ago

SLIMBUS_7_RX: ASoC: backend prepare failed -22 , this is the slimbus_7_rx port open failure issue which happened from the log beginning to the end in all the use case.
提了case给高通MM组分析.

#19 Updated by CD LC 陶洪普 over 2 years ago

这个票在高通已转到MM组处理: 06509784
------------------------------
高通回复:
[8500/ 3] MSG 00:05:01.184 QDSP6/Error [cdc_data_msg_handler.cpp 640] Error. Sampling rate in media type msg 16000 does not match configured sampling rate 44100 0
it is the sample rate mismatched issue, i will check and update to you later.

#20 Updated by CD LC 陶洪普 over 2 years ago

与杜磊确认,请MM同事一起来分析. 目前高通case 高通Audio同事在分析.

#21 Updated by CD LC 陶洪普 over 2 years ago

  • Assignee changed from CD LC 陶洪普 to Multimedia组-RD3_TSCD 梁卿山

Hi 卿山,

the root cause is the encoder AAC configuration is set as 44.1khz for a2dp playback on slimbus_port. but this configuration is not reset. so , when the sco is enable with 16k on the same port .confliction happened.
请帮继续跟进 高通 case 06509784
谢谢!

#22 Updated by CD LC 陶洪普 over 2 years ago

  • Due date changed from 2023-02-08 to 2023-03-13

#23 Updated by CD TPM-王祥林 over 2 years ago

  • Category changed from LC to AUDIO-FW

#24 Updated by Multimedia组-RD3_TSCD 梁卿山 over 2 years ago

Hi ALL,
■ 当前进展
高通给了新的pacth,已经起了编译,等编译后,进行复现测试

#25 Updated by Multimedia组-RD3_TSCD 梁卿山 over 2 years ago

Hi ALL,
■ 当前状态
当前高通的patch是生效的,音乐可以正常出声,
但是在接通VOIP电话前,会有一段噪音,我们已经抓了日志并提供给高通,等待进一步分析。

#26 Updated by Multimedia组-RD3_TSCD 梁卿山 over 2 years ago

  • Status changed from ASSIGNED to NEED_INFO
  • Assignee changed from Multimedia组-RD3_TSCD 梁卿山 to CD Test赵飞

Hi 赵飞
■ 当前现象
1.耳机噪音为额外的现象,当前观察仅在QQ发生,可能需要额外起票处理。

2.我们使用了高通patch后,当前问题不再发生,请帮忙确认,谢谢
我们起了编译,请编译完成后,确认,谢谢
Jenkins连接
http://192.168.87.26:8080/view/Projects/view/Project-IOT/job/VerifyBuild_for_IOT_6490/211/parameters/
FTP地址
Figure/VerifyBuild/Pre_figure_turbox-c2130c-la1.1-qssi12-dev/20230320/202303200923-211

#27 Updated by CD Test赵飞 over 2 years ago

  • Status changed from NEED_INFO to ASSIGNED
  • Assignee changed from CD Test赵飞 to Multimedia组-RD3_TSCD 梁卿山
使用VB版本验证,结果如下:
  • 关闭音频焦点控制的情况下:
    QQ语音挂断后,音乐可以正常播放,声音正常从蓝牙耳机输出
  • 未关闭音频焦点控制的情况下:
    QQ语音挂断后,音乐无法播放

#28 Updated by Multimedia组-RD3_TSCD 梁卿山 over 2 years ago

  • Assignee changed from Multimedia组-RD3_TSCD 梁卿山 to CD Test赵飞
  • Resolution changed from -- to FIXED
  • Fixed Version set to 2023-03-22
  • Root cause set to 在蓝牙切换时强制重置a2dp配置

Hi 赵飞
和116161同件
提交已经合并,由于该提交来自高通,需要做周边影响测试,请使用release版本进行充分的周边测试,谢谢!
大概的场景:
1.一个蓝牙频繁切换music和voice call两种应用。
2.多个蓝牙频繁在music下的切换。
3.多个蓝牙频繁在voice call的切换。

#29 Updated by Multimedia组-RD3_TSCD 梁卿山 over 2 years ago

  • Status changed from ASSIGNED to RESOLVED

#30 Updated by CDTS_TEST 王成 over 2 years ago

  • Target version changed from VC1_FSE_0082_20230314 to VX1_MCE_FSE_0078_20230228

#31 Updated by CD Test赵飞 over 2 years ago

  • Status changed from RESOLVED to VERIFIED
  • % Done changed from 0 to 100

验证版本:FlatBuild_HH_MCE_FSE.M.R.user.01.00.0085.C101
验证结果:PASS

#32 Updated by CD Test赵飞 over 2 years ago

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF