PipeWire 这个名字,对于接触过 Linux 多媒体栈的朋友应该不陌生。它本质上是一个系统级服务,同时搭配一套用户空间 API,专门用来管理多媒体流。视频源的采集——比如摄像头画面、屏幕共享或者应用输出流——多客户端之间的共享与分发、音视频消费访问,乃至构建用于音频和视频处理的图形化数据流,它都能搞定。
这次发布的 PipeWire 1.5.85,官方已经明确表态:这是 1.6 版本的第五个候选发布版,也是预期中的最后一个。言外之意,正式版不远了。而且它继续保持了对 1.4.x、1.2.x 以及 1.0 系列 API 和 ABI 的兼容性——这一点对老用户来说很友好,升级不用太担心接口断裂。
主要更新内容
- 修复了一个老问题:旧版客户端在没有做充分校验的情况下,直接对缓冲区数据进行
mmap,这会导致潜在的不稳定因素。现在已经被堵上了。 - ALSA 通道映射功能得到了改进,在更多样的硬件和配置场景下都能稳定运行。原来某些声卡或者特殊声道布局下抓瞎的情况,应该会少很多。
- 在特定采样率下,重采样模块偶尔会发生数值溢出的缺陷——这个 bug 也被修复了。对专业音频应用来说,这是一个值得关注的优化。
- 新增了对 DMABUF 设备 ID 协商机制的支持。这个机制能更好地协调不同硬件之间的直接内存访问,提升效率。
channelmixer组件现在可以处理多数 REAR(后置)和 TOP(顶部)声道位置的下混。也就是说,复杂声道的混音场景下,输出正确性有了明显提升。- 还有若干其他细微的问题修复和性能优化,具体细节可以在官方发布说明中查阅。
源码下载地址:点击下载