当前位置: 首页 > news >正文

alsa pcm接口之阻塞和非阻塞打开和异步通知模式

阻塞和非阻塞打开(Blocked and non-blocked open)
当设备打开在一个阻塞或非阻塞模式,ALSA pcm api接口使用不同的行为,模式可以指定通过mode参数通过snd_pcm_open函数,blocked mode阻塞模式是默认打开方式,在这个模式下,行为表现为当资源被其他应用程序使用,应该阻塞调用者,直到资源释放出来了.非阻塞行为表现为(SND_PCM_NONBLOCK)不会阻塞调用者,如果当前资源不可使用的话,可以返回一个
-EBUSY的错误.注意模式还决定了标准I/O调用的行为,当非阻塞模式使用下,返回一个-EAGAIN的错误码,当ringbuffer已经满了(playback播放)或者空的(capture);对于I/O调用的操作模式是可以改变的通过snd_pcm_nolock()函数.
异步模式(Asynchronous mode)
通过特定时间周期可以接受异步通知,可以查看snd_pcm_open函数设置SND_PCM_ASYNC模式和snd_async_add_pcm_handler()函数了解更多信息.

http://www.lryc.cn/news/183940.html

相关文章:

  • Python Random模块详解
  • Vue3 模糊搜索筛选
  • 【MVC】C# MVC基础知识点、原理以及容器和管道
  • 【kubernetes】基于prometheus的监控
  • Gmail 将停止支持基本 HTML 视图
  • 电影大师杂记
  • 聊聊分布式架构——RPC通信原理
  • Android:实现手机前后摄像头预览同开
  • 2.2.4 yocto poky openembedded bitbake关系
  • 开源后台管理系统 (go-vue-admin)
  • 想升级macOS Big Sur,但是MacBook内存空间不够该怎么办?
  • 结构化面试 --- 介绍 + 人际关系
  • 李沐深度学习记录5:13.Dropout
  • 计算机竞赛 题目:基于大数据的用户画像分析系统 数据分析 开题
  • MFC ExtTextOut函数学习
  • Java中阻塞队列原理、特点、适用场景
  • PHP之linux、apache和nginx与安全优化面试题
  • 算法笔记:0-1背包问题
  • C++入门-day02
  • 模板方法模式,基于继承实现的简单的设计模式(设计模式与开发实践 P11)
  • php实战案例记录(16)php://input输入流
  • cad图纸如何防止盗图(一个的制造设计型企业如何保护设计图纸文件)
  • Windows11 安全中心页面不可用问题(无法打开病毒和威胁防护)解决方案汇总(图文介绍版)
  • 1329: 【C2】【排序】奖学金
  • 解决dockerfile创建镜像时pip install报错的bug
  • 算法题:分发饼干
  • WebSocket编程golang
  • PHP之redis 和 memache面试题
  • java socket实现代理Android App
  • Nacos与Eureka的区别