alsa pcm接口之在unix环境的传输方法

在unix环境,数据片段响应被接受通过standard I/O call或事件等待路径(poll或select功能),为完成列表,异步通知响应该被列举出来.ALSA实现那些方法被描述在ALSA transfers部分.
标准I/O传输(Standadrd I/O transfers)

这个标准I/O传输常常使用read和write C语言函数集,对于那些函数那儿有两种基本行为-blocked和non-blocked,在non-block 行为,那些I/O函数不会停止,当没有数据可以传输(the ringbuffer满了),他们将返回-EAGIN错误码;在阻塞行为,那些IO函数将会停止并且等待有空闲ringbuffer(playback 播放)或直到那儿有新的样本(capture捕获),这个ALSA 实现将会被发现READ/Write传输片段.
事件等待路径(Event waiting routines)

poll或select函数允许接受请求或事件来自设备当应用程序正在等待事件来自于其他sources(比如keyboard,screen,network或者其他,snd_pcm_poll_descriptors被用来得到文件描述符通过poll或select函数,snd_pcm_poll_descriptors_revents.
异步通知Asynchrounous notification

Alsa和库可以通过一个异步通知处理通过一个SIGIO信号,在信号处理函数中,这个信号允许中断应用和传输数据.

相关推荐
SuperW14 天前
音频AAC编码与RV1126的AENC模块的讲解
人工智能·音视频·pcm
NO Exception?1 个月前
完美解决 mobile-ffmpeg Not overwriting - exiting
android·ffmpeg·pcm
一路向北he1 个月前
pcm数据不支持存储在json里面,需要先转base64
json·pcm
亦双城的双子娴1 个月前
通过音频的pcm数据格式利用canvas绘制音频波形图
音视频·pcm·canva可画
CheungChunChiu2 个月前
PCM 参数深度解析:采样率、帧、缓存大小与多通道关系
android·linux·嵌入式·pcm·通道·tinyalsa·音频开发
Antonio9152 个月前
【音视频】SDL播放PCM音频
ffmpeg·音视频·pcm
Json____2 个月前
springboot 处理编码的格式为opus的音频数据解决方案【java8】
spring boot·后端·音视频·pcm·音频处理·解码器·opus
Liu-Eleven3 个月前
嵌入式音频框架alsa学习之pcm状态
学习·音视频·pcm
byxdaz3 个月前
QT编程之PCM音频处理
音视频·pcm
【ql君】qlexcel3 个月前
电动自行车/电动工具锂电池PCM方案--SH367003、SH367004、SH79F329
pcm·bms·锂电池