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信号,在信号处理函数中,这个信号允许中断应用和传输数据.

相关推荐
Lucas_coding12 天前
【语音相关】Opus编码器生命周期管理:从“有噪音“到“无噪音“的完美转换 [opus, pcm 转化电流音问题解决]
macos·xcode·pcm
Android系统攻城狮12 天前
Android tinyalsa深度解析之pcm_params_get_periods_min调用流程与实战(一百七十三)
android·pcm·tinyalsa·音频进阶手册
@insist12313 天前
网络工程师-信道容量计算与 PCM 编码:数据通信核心原理及软考考点解析
网络·网络工程师·pcm·软考·软件水平考试
Android系统攻城狮13 天前
Android tinyalsa深度解析之pcm_plugin_open调用流程与实战(一百七十四)
android·pcm·tinyalsa·音频进阶手册
Android系统攻城狮13 天前
Android tinyalsa深度解析之pcm_params_set_max调用流程与实战(一百七十)
android·pcm·tinyalsa·android音频进阶
Android系统攻城狮14 天前
Android tinyalsa深度解析之pcm_params_get_period_size_max调用流程与实战(一百七十二)
android·pcm·tinyalsa·音频进阶
Android系统攻城狮14 天前
Android tinyalsa深度解析之pcm_params_set_min调用流程与实战(一百六十九)
android·pcm·tinyalsa·音频进阶
枳实-叶19 天前
嵌入式 Linux 下 ALSA 音频采集与 PCM 播放流程详解
linux·音视频·pcm
Android系统攻城狮1 个月前
Android tinyalsa深度解析之pcm_params_get调用流程与实战(一百六十二)
android·pcm·tinyalsa·android hal·audio hal
haiyaoyouyou1 个月前
Qt6.8 使用QAudioBufferInput 录制网络PCM语音流成文件
pcm·bufferinput·qaudiobuffer