作者tony123930 (HW)
看板AndroidDev
标题[问题] Audio Framework 阅读方法
时间Fri Dec 16 20:23:17 2016
大家好,我最近在阅读 Android Framework 的程式码
主要着重於音讯的部分 /framework/av/
但现在爬 code 的过程中遇到一些问题
1. 在 PlaybackThread::threadLoop_write() 内,每次都会花 20 ms
经过推敲後发现是 mNormalSink->write() 耗时间,我猜测这个是因为
软体处理资料的速度,远快於硬体释放讯号的速度(数个微秒就可以处
理完 20 ms 长的音讯)为了等待硬体将讯号播放完才有一些等待的逻辑
在里面。但我往下翻了一下就看到 driver 层的部分了,程式码落在
/platform/hardware/qcom/audio_hw.c。但现在的问题就是,我不知道
我找到的程式码是否正确,以及不知道该怎麽读,不晓得有无人可以提供
建议?
2. 在 AudioTrack 给订 buffersize 的时候,会叫到 getMinBufferSize()
之类的 API,其中计算跟 latency 相关。想请问这个 latency 的部分
要在哪找到呢?
3. FastMixer 跟 Effect 的部分,坊间的书好像很少着墨,不晓得有没有
推荐的网站呢?
谢谢大家!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.163.180.192
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1481890999.A.BCB.html
1F:推 hivic: 1,2都在audio hal里 看你们用哪家方案 12/22 15:48
2F:→ hivic: out->stream.get_latency 大多是buffer size去推得 12/22 15:50