wordpress静态nginx规则,六安网站关键词排名优化地址,做网站 英语,常用的开发环境有哪几种背景
最近一直在更新博客#xff0c;我觉得写博客有三个好处#xff0c;一是很多东西时间久了就会忘#xff0c;记下来方便自己以后回忆和总结#xff0c;二是记下来可以加深自己对知识的理解#xff0c;三是可以知识分享#xff0c;方便他人。 言归正传#xff0c;今天…背景
最近一直在更新博客我觉得写博客有三个好处一是很多东西时间久了就会忘记下来方便自己以后回忆和总结二是记下来可以加深自己对知识的理解三是可以知识分享方便他人。 言归正传今天分享我曾经做过的某高端蓝牙耳机的A2DP音频卡顿原因分析和解决思路A2DP音频卡顿从LOG方面看一般都能从Audio DSP的错误log看出来
问题及解决思路
audio dsp下溢
也就是underflow错误意思是DSP那边拿不到数据帧造成的音频卡顿这类错误有可能是耳机的BT HOST或者 controller的问题
问题案例分析解决思路耳机BTH问题比如我曾经碰到过的情况就是BTH在接受手机音乐的同时又发生了其他调度需要上行通过HFP协议上报电量等由于耳机主CPU的mips不足调度不及时造成BTH没有及时读取BTC的audio数据。这种一般需要临时提高主CPU的mips。耳机BTC问题BT Controller的问题就是由于某些原因从手机收包不及时导致比如耳机在接受A2DP音频流的同时进行了BLE 扫描过高的扫描占空比导致BTC收包不及时也有可能是信号问题导致重传太多收包不及时等等。这种需要BT Controller具体分析了BLE占空比太高就要想办法消减或者打散信号问题就要和硬件一起分析。手机蓝牙问题比如我曾经碰到过在播放高清音频的时候手机发过来的包就有丢包后来发现手机在播放高清音频的同时在做BLE SCAN造成的过高的BLE占空比造成了音频发包有很大延迟需要把BLE SCAN的window打散不能造成音频的丢包
audio dsp上溢
也就是overflow错误意思是蓝牙这边送到DSP的数据帧太多导致DSP解码播放不及时造成的卡顿这类错误有可能是DSP本身的问题或者是蓝牙的问题
问题案例分析解决思路DSP本身问题DSP本身性能不足由于某些导致播放速度太慢造成的问题需要DSP查看为啥cpu load太重蓝牙的问题比如我曾经碰到过手机蓝牙的高清音频通过动态码率发送一时大量数据发送过来造成了audio DSP播放不及时可以通过加大DSP接收buffer解决问题
SN或者TS不连续
sn和ts是保证蓝牙数据包能被audio dsp解码播放的关键参数如果发生了SN或者TS不连续错误说明蓝牙存在丢包或者重复收包的可能:
问题案例分析解决思路手机蓝牙问题手机发过来的数据就有SN或者TS不连续可以通过抓取手机蓝牙音频数据然后dump出来通过音频软件分析比如adobe audition就是个很好的音频分析软件耳机BTC问题耳机蓝牙芯片由于某些原因存在丢包的发生这个需要bt controller具体分析
DSP性能不足或者解码错误
这类错误一般都是DSP自身的错误需要DSP去查看。
总结
以上这四类蓝牙A2DP卡顿问题原因和解决思路是我在具体项目中碰到过的实际中应还有其他的原因我只能在此抛砖引玉。