Linux 内核开发者再次尝试增强其 USB 音频驱动程序的低延迟播放模式。
根据补丁描述,由于提前强行提交 URB 可能很容易触发 XRUN,因此之前的实现是通过在触发流开始之前用预先提交的无声数据来延迟提交实际数据避免的。而此次提交的补丁采取了类似于隐式反馈模式中使用的方法。URB 像以前一样在 PCM 触发开始时排队,但是在每次提交之前会检查缓冲区是否已经被填。通过这种方式,URB 的数量可以根据可用的数据动态地、灵活地变化,而不会影响到 XRUN。
此外,还有一批其它的 usb-audio 补丁提交,包括限制共享时钟的速率、修复 URB 完成同步时可能出现的竞争、将自旋锁添加到 stop_urbs()、修复数据包大小计算回归等等。这些补丁都已经合并到 next 分支,如无意外,将会在 Linux 5.16 中推出。
猜你喜欢:暂无回复。