android系统中ALSA架构audio -EPIPE错误分析及对策
2011-10-26 19:50
459 查看
使用ALSA架构的驱动程序,在实际开发使用过程中,比较常见的错误有-EPIPE,也就是-32?为什么会出现呢?肯定是系统内部不和谐了!EPIPE的错误在播放时出现就是因为驱动buffer没有数据可以丢给codec所致,通俗一点就是上层给下面喂数据的速度慢了,下面饿晕了,所以抱怨你上层慢啊,给你一个-EPIPE错误出来,自己去找原因。在录音的时候,出现EPIPE也是有原因的,ALSA的驱动也有一块专门用来存储录音数据的buffer,上层从该buffer搬运数据再存储起来就能得到我们需要的录音文件。一旦驱动的buffer满了,就会出现EPIPE的错误,因为你上层读录音buffer数据的速度慢了,这就不能抱怨下层不给面子了。通过分析出现原因后,我们得找找对策,说起来容易,做的可能因为系统的原因并不是想的那么容易。
在播放的时候,如果会出现这种-EPIPE的错误,请调整下发数据的数据,加快一点点!录音的时候出现这种错误的时候,请读得更快一点!可以提高任务的优先级来处理,也可以把驱动buffer扩大一下,给系统更多一点的缓冲时间!都退一步,和谐社会,和谐系统!
在播放的时候,如果会出现这种-EPIPE的错误,请调整下发数据的数据,加快一点点!录音的时候出现这种错误的时候,请读得更快一点!可以提高任务的优先级来处理,也可以把驱动buffer扩大一下,给系统更多一点的缓冲时间!都退一步,和谐社会,和谐系统!
相关文章推荐
- Android ALSA音频系统架构分析(1)----从Loopback了解Audio
- Android图形系统的分析与移植 -- 二、Android显示系统软件架构分析
- android系统源码分析——binder架构图
- android自学----------系统架构分析
- Android架构实例分析之编写hello驱动的系统硬件服务
- Android架构分析之基于Android系统的C应用程序开发
- android系统开发(九)-Audio部分准备工作alsa移植
- Android系统架构分析 和 Android应用程序组件介绍
- Android 系统架构分析
- Android Camera 系统架构源码分析(5)---->Camera数据Buf的传递方式及相关类
- android系统开发(九)-Audio部分准备工作alsa移植
- Android如何打开/关闭系统解锁服务?—典型错误分析
- Android Audio代码分析8 - AudioHardwareALSA::openOutputStream函数
- Android图形系统的分析与移植--二、Android显示系统软件架构分析
- android 系统架构分析
- Entity Framework 数据并发访问错误原因分析与系统架构优化
- Android Audio代码分析8 - AudioHardwareALSA::openOutputStream函数
- Android Audio代码分析11 - AudioStreamOutALSA::write函数
- android系统架构分析
- Android基础入门教程——1.1 背景相关与系统架构分析