原创 AAudio framework架構 (附帶visio流程圖)

Google官方網站: Audio Hal 適配: https://source.android.google.cn/devices/audio/aaudio AAudio 上層應用使用說明:https://developer.a

原创 AudioTrack和AudioFlinger之間數據通信架構,以及內存分配

1、AF中最多支持32個Track; 2、一個應用進程創建多個AT時只會擁有一個Client,多個AT申請內存由該進程的Client從ClientSharedHeapSize大小的內存中分配; 3、一個Client管理的空間是固定

原创 Android audio_policy_configuration.xml 解讀

  audio policy xml裏面有2種角色:source和sink,每種角色又分爲devicePorts和mixPorts。 devicePorts(source):爲實際的硬件輸入設備; devicePorts(sink):爲

原创 Android AAudioAudio service啓動流程

Google官方網站: Audio Hal 適配: https://source.android.google.cn/devices/audio/aaudio AAudio 上層應用使用說明:https://developer.a

原创 AudioFlinger dumpsys 分析

dumpsys media.audio_flinger |grep  -A 3 Underruns Client:進程號 SRate(Hz):採樣率 Server:當前AudioFlinger讀取指針位置 FrmCnt:當前buffer所

原创 AudioRecord數據流處理詳細流程

1.1 AudioRecord重採樣處理流程 mPipeSource 爲null, 將hal數據in_read到mRsmpInBuffer中, mInput->stream->read(); 獲取track的share buffer,ac

原创 Android P/ Android O在native 層加堆棧打印信息

  Native C++層加堆棧打印: 1. 包含頭文件 #include "utils/CallStack.h" 2. 引用動態庫 Andorid P Android.mk: LOCAL_SHARED_LIBRARIES裏包含libut