对于 pulseaudio,tsched 做什么(以及默认设置是什么)?

对于 pulseaudio,tsched 做什么(以及默认设置是什么)?

如果我修改/etc/pulse/default.pa并改变这一行:

load-module module-udev-detect

到:

load-module module-udev-detect tsched=0

我显然禁用了 tsched。同样,如果我将这一行改为:

load-module module-udev-detect tsched=yes

我正在启用 tsched。这两项都可以通过运行以下命令进行验证:

pactl list | grep tsched

并调查文档

切德自 0.9.11 起。使用基于系统计时器的模型(又称无故障)。默认为 1(启用)。如果您的硬件没有返回准确的计时信息(例如 Creative 声卡),您可以尝试设置 tsched=0 以启用 0.9.10 及之前版本中使用的基于中断的计时。

但是我有两台机器(不同的硬件),一台返回tsched=yes,一台不返回。

默认值真的是 1(启用/是)吗?如果它没有出现在 pactl 中,有没有办法验证它是否真的启用了?什么(在硬件中)决定它是否真的启用了?

答案1

这里有一个很好的(技术)讨论:

http://www.alsa-project.org/~tiwai/lk2k/lk2k.html

什么是 Sequencer?

序列器的作用 =
在正确的时间(序列)将事件传递到正确的目的地(设备)。

因此,这与内核如何管理硬件(在本例中为声卡)有关。某些声卡(通常是 Intel 声卡)需要实时排序。

Arch Wiki 的页面PulseAudio/故障排除说:

PulseAudio 声音服务器的较新实现使用基于计时器的音频调度,而不是传统的中断驱动方法。

基于计时器的调度可能会暴露某些 ALSA 驱动程序中的问题。另一方面,其他驱动程序在未启用该调度时可能会出现故障,因此请检查您的系统上哪些功能可以正常工作。

相关内容