大家好! 我是“聲波電波還看今朝”成員的一位FAE ,歡迎大家關注我們的博文。今天給大家大概講解“如何在當前的環境下抓取audio log 數據”內容和操作。
如果大家還沒有註冊我們大大通的賬號,麻煩掃描如下的二維碼來註冊一下吧,方便我們後期問題討論。
Audio log 主要是在項目的開發中遇到了audio底層的問題,不知道如何進行分析,同時也沒有底層的數據信息,這時就需要抓取一份audio層的log上來分析原因。
簡單的舉一個例子,大致的說明下,這情況下需要抓一下audio log 數據:
比如在上圖chain鏈路的模式下,客戶聽到的聲音是有雜音的,通過KSP錄音逐步定位,排查到是APTX_ADAPTIVE_DECODE的模塊問題,此時我們也不具備分析這塊的能力,為了詳細分析,此時就需要抓APTX_ADAPTIVE_DECODE的audio log數據,可以詳細分析內部的參數等信息。
抓取audio log的步驟如下,以loopback工程為例:
1、用命令進入示例命令如下:
c:\QTIL\ADK_Toolkit_1.2.9.25_x64\tools\pyenv37\Scripts\acat.exe -s “trb/scar/0” -b C:\Project\adk-src-1-0_qtil_standard_oem_qcc517x-qcc307x\audio\qcc517x_qcc307x\kalimba_ROM_14612\kymera\output\maor_rom_release\build\debugbin\kymera_maor_audio.elf -j
c:\Project\adk-src-1-0_qtil_standard_oem_qcc517x-qcc307x\audio\qcc517x_qcc307x\kalimba\kymera\output_bundles\maor_rom_release\download_passthrough\download_passthrough.elf –I
備註: 上述的示例是針對passthrough這一個audio的功能來分析的,如果你們是其他的audio,就需要添加自己audio的elf文件,比如:我測試的是LC3的audio問題,這時就需要將以上的downlad_passthrough.elf要替換成LC3的elf文件.
2、設置log level 3或者4各抓一個設置的指令如下debuglog.set_debug_log_level(3) or debuglog.set_debug_log_level(4).
備註:該操作和上層的應用一樣, audio log 也設置了log level,level 越大釋放的log信息就越豐富。
3、.先運行to_file("log_file.txt"),是用來保存audio log的路徑和文本.
4、.直接運行debuglog.poll_debug_log(True)列印audio log.
以上就是抓取audio log的操作步驟,看似比較簡單,特別需要注意的是,你需要分析那塊audio的數據,
在第一步就將你需要分析的audio對應的elf文件加載上。
FAQ | 常見問題
- 如何搭建ACAT的環境?
可以直接參考之前的博文“藍牙 | 軟體: Qualcomm BT Audio 問題分析(1)----ACAT Tools安裝”。
- 有時抓取的log信息為何是無效的數據或者執行了poll_debug_log(True)後,還是沒有audio log數據輸出?
列印audio log時必須要保存藍牙處於audio 模式,如果觸發指令無效,建議切換到管理員權限去操作。
- 參考文檔?
參考80-15677-1_REV_AG_Qualcomm_Kymera_Tools_User_Guide.pdf
- log數據分析有參考資料指導嗎?
Audio log 是底層的音頻log,我們沒有詳細的文檔說明,可以通過log的字面意思來分析,對比正常的log來查看,詳細的分析可以提交給原廠來看。
- 什麼情況下需要抓audio log來分析?
當定位到時codec的問題或者是audio 底層的問題時,需要抓取audio log, 如果有的elf 文件沒有,可以找我們提供,比如codec的elf文件,在默認ADK上是沒有提供的。
評論