此类问题可通过抓取trace数据,分析问题出现时音频数据回调是否正常。
hiprofiler_cmd \
-c - \
-o /data/local/tmp/hiprofiler_data.htrace \
-t 30 \
-s \
-k \
<<CONFIG
request_id: 1
session_config {
buffers {
pages: 16384
}
}
plugin_configs {
plugin_name: "ftrace-plugin"
sample_interval: 1000
config_data {
ftrace_events: "sched/sched_switch"
ftrace_events: "power/suspend_resume"
ftrace_events: "sched/sched_wakeup"
ftrace_events: "sched/sched_wakeup_new"
ftrace_events: "sched/sched_waking"
ftrace_events: "sched/sched_process_exit"
ftrace_events: "sched/sched_process_free"
ftrace_events: "task/task_newtask"
ftrace_events: "task/task_rename"
ftrace_events: "power/cpu_frequency"
ftrace_events: "power/cpu_idle"
hitrace_categories: "ability"
hitrace_categories: "ace"
hitrace_categories: "app"
hitrace_categories: "ark"
hitrace_categories: "binder"
hitrace_categories: "disk"
hitrace_categories: "freq"
hitrace_categories: "graphic"
hitrace_categories: "idle"
hitrace_categories: "irq"
hitrace_categories: "memreclaim"
hitrace_categories: "mmc"
hitrace_categories: "multimodalinput"
hitrace_categories: "notification"
hitrace_categories: "ohos"
hitrace_categories: "pagecache"
hitrace_categories: "rpc"
hitrace_categories: "sched"
hitrace_categories: "sync"
hitrace_categories: "window"
hitrace_categories: "workq"
hitrace_categories: "zaudio"
hitrace_categories: "zcamera"
hitrace_categories: "zimage"
hitrace_categories: "zmedia"
buffer_size_kb: 204800
flush_interval_ms: 1000
flush_threshold_kb: 4096
parse_ksyms: true
clock: "boot"
trace_period_ms: 200
debug_on: false
}
}
CONFIG 应用侧需要排查OH_AudioRenderer_OnWriteDataCallback回调函数中写入静音数据的问题。在无法填满回调所需长度数据的情况下,建议返回AUDIO_DATA_CALLBACK_RESULT_INVALID,系统不会处理该段音频数据。