Bug #117316

测试 Test-ST #111337: ST测试总票

测试 Test-ST #116840: 中控联调测试-AF

【AF】【EVT3】【AUDIO】连接中控,副屏播放音乐时,屏幕录制开启失败

Added by CD Test赵飞 over 2 years ago. Updated about 2 years ago.

Status:CLOSEDStart date:2023-04-04
Priority:NormalDue date:
Assignee:CD TEST-方永红% Done:

100%

Category:AUDIO-FW
Target version:-
Need_Info:-- Found Version:FlatBuild_HH_MCE_FSE.M.R.user.01.00.0088.C102(X102)
Resolution:FIXED Degrated:No
Severity:Major Verified Version:FlatBuild_HH_MCE_FSE.M.D.user.01.00.C103(X103).202304210449
Reproducibility:Every time Fixed Version:2023-04-20
Test Type:ST Root cause:compress offload播放方式禁用

Description

【前提条件】
1、副屏与中控已连接
2、副屏音乐播放中,声音正常输出

【测试步骤】
1、进入控制中心
2、点击屏幕录制
3、在弹出的弹框中打开“设备音频”、“麦克风”开关
4、点击“开始录制”

【预期结果】
4、在3秒倒计时结束后屏幕录制正常开始

【实际结果】
4、在3秒倒计时结束后屏幕录制失败,弹出“启动屏幕录制时失败”的toast

logcat.txt Magnifier (2.27 MB) CD Test赵飞, 2023-04-04 14:02

History

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

#2 Updated by CDTS-TEST 周婷 about 2 years ago

  • Severity changed from Normal to Major

#3 Updated by CDTS_TEST 王成 about 2 years ago

  • Subject changed from 【AF】【EVT3】【AUDIO】副屏播放音乐时,屏幕录制开启失败 to 【AF】【EVT3】【AUDIO】连接中控,副屏播放音乐时,屏幕录制开启失败

#4 Updated by Multimedia组-RD3_TSCD 梁卿山 about 2 years ago

Hi ALL

■ 当前分析

04-10 01:41:06.530 7428 7705 E AF::Track: Track(63): no more tracks available
--------- beginning of crash
04-10 01:41:06.531 7428 7705 F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x38 in tid 7705 (Binder:7428_7), pid 7428 (audioserver)
...
04-10 01:41:07.090 7836 7836 F DEBUG : Cmdline: /system/bin/audioserver
04-10 01:41:07.091 7836 7836 F DEBUG : pid: 7428, tid: 7705, name: Binder:7428_7 >>> /system/bin/audioserver <<<
04-10 01:41:07.091 7836 7836 F DEBUG : uid: 1041
04-10 01:41:07.091 7836 7836 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x38
04-10 01:41:07.091 7836 7836 F DEBUG : Cause: null pointer dereference
04-10 01:41:07.091 7836 7836 F DEBUG : x0 0000000000020000 x1 0200007230141950 x2 0000000000000030 x3 0000000000000010
04-10 01:41:07.091 7836 7836 F DEBUG : x4 0200007230141970 x5 0000000000000001 x6 0000000000000001 x7 7f7f7f7f7f7f7f7f
04-10 01:41:07.091 7836 7836 F DEBUG : x8 0000000000000001 x9 000000752359bc68 x10 000000752359bc58 x11 0000000000000038
04-10 01:41:07.091 7836 7836 F DEBUG : x12 0000ffff00000eff x13 00000000f4a96758 x14 00000071d51aa0d8 x15 0000000034155555
04-10 01:41:07.091 7836 7836 F DEBUG : x16 000000752359e268 x17 000000752012eb78 x18 00000071d42d2000 x19 b4000072b011d710
04-10 01:41:07.091 7836 7836 F DEBUG : x20 0000000000019000 x21 0000000000000001 x22 b400007430118010 x23 0000000000000000
04-10 01:41:07.091 7836 7836 F DEBUG : x24 0000000000000001 x25 0000000000000001 x26 0000007528d20950 x27 0000007528d19408
04-10 01:41:07.091 7836 7836 F DEBUG : x28 0000007528d19470 x29 00000071d51aa680
04-10 01:41:07.091 7836 7836 F DEBUG : lr 0000007523573adc sp 00000071d51aa680 pc 0000007523573b18 pst 0000000020001000
04-10 01:41:07.091 7836 7836 F DEBUG : backtrace:

该场景下,开启音乐,录屏时选择录制设备音频时,导致了audioserver died;

■ 下一步

找为什么该场景会导致audioserver重启。

#5 Updated by Multimedia组-RD3_TSCD 梁卿山 about 2 years ago

Hi all,

该音乐播放器通过MediaPlayer播放的音乐,发生异常的原因是在创建AudioTrack的时候AudioFormat不对,导致空指针。正确的format为0x1错误的format为0x100000.

04-16 01:36:28.725 9814 9877 D AF::TrackHandle: OpPlayAudio: not muting track:67 usage:0 for service UID 1041
04-16 01:36:28.725 9814 9877 W AudioFlinger: isTrackAllowed_l: invalid format: 0x1000000
04-16 01:36:28.725 9814 9877 E AF::Track: Track(67): no more tracks available

下一步:找到AudioFormat设置的位置,确定设置错误的原因。

#6 Updated by Multimedia组-RD3_TSCD 梁卿山 about 2 years ago

Hi all,

由于音源数据解析出来后,符合compress offload的播放模式,当采用该播放模式的时候,audio_format会采用从音源里解析出来的audio_format 0x1000000u。而0x1000000u在安卓原生里没有定义,在录屏时会检查audio_format,匹配不上就会导致空指针,进而导致AudioServer die。

目前的解决方法:先把compress offload播放方式禁用,禁用之后,播放音乐和屏幕录制均正常。(禁用之后,理论上只会影响到功耗)
提交如下,正在编译验证:
https://dev.thundercomm.com/gerrit/c/general/device/qcom/qssi/+/194563

next:提qcom case询问是否有更好的解决方式

#7 Updated by Multimedia组-RD3_TSCD 梁卿山 about 2 years ago

  • Status changed from New to NEED_INFO
  • Assignee changed from Multimedia组-RD3_TSCD 梁卿山 to CD TEST-方永红

Hi 永红

麻烦使用以下VB进行验证,研发自测OK
Figure/VerifyBuild/Pre_figure_turbox-c2130c-la1.1-qssi12-dev/20230419/202304190946-426

#8 Updated by IoT scm about 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
194563 general/device/qcom/qssi Pre_figure_turbox-c2130c-la1.1-qssi12-dev
MM: Audio: offload disable
offload disable
TC-RID: 0301-0900116
IssueID: TS-R-BUG-117316
Change-Id: I5bd930b7fa438473b28d81b7b3fed0ff9289f8b0

#9 Updated by Multimedia组-RD3_TSCD 梁卿山 about 2 years ago

  • Status changed from NEED_INFO to RESOLVED
  • Resolution changed from -- to FIXED
  • Degrated changed from -- to No
  • Fixed Version set to 2023-04-20
  • Root cause set to compress offload播放方式禁用

HI 永红

提交已经合入,请使用4/20后的版本进行验证,谢谢

#10 Updated by CD TEST-方永红 about 2 years ago

  • Status changed from RESOLVED to VERIFIED
  • % Done changed from 0 to 100
  • Verified Version set to FlatBuild_HH_MCE_FSE.M.D.user.01.00.C103(X103).202304210449

4.21
验证通过

#11 Updated by CD TEST-方永红 about 2 years ago

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF