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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今天6点半起床10点半睡觉和今天早晚运动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值