为什么 pulseaudio 会生成两个 sink 输入索引?

为什么 pulseaudio 会生成两个 sink 输入索引?

我计划在检测到 pulseaudio 中的新接收器输入索引时生成一个线程。但是当我运行某个应用程序时,我发现为同一客户端创建了第二个接收器索引。

系统生成一个线程并关闭第一个线程,这与当前正在运行的程序无关。我将其作为运行我的代码生成的参考进行跟踪,该代码检测到我在运行 openarena 游戏时生成的新接收器输入索引。

****检测到索引为 0 的接收器输入播放流 hello****
=======[ 接收器输入# 0 ]=======
名称:播放流
客户:11
接收器:0
样本格式:3
采样率:44100
采样通道:2
所有者模块:7
缓冲区使用量:160068
接收器使用量:210498
驱动程序:protocol-native.c
客户名称:Warzone 2100

****移除接收器输入 0****

****检测到索引为 1 的接收器输入播放流 hello****
=======[ 接收器输入# 1 ]=======
名称:播放流
客户:11
接收器:0
样本格式:3
采样率:44100
采样通道:2
所有者模块:7
缓冲区使用量:346689
接收器使用量:23883
驱动程序:protocol-native.c
客户名称:Warzone 2100

****移除接收器输入 1****

****检测到索引为 2 的接收器输入播放流 hello****
=======[ 接收器输入# 2 ]=======
名称:播放流
客户:13
接收器:0
样本格式:3
采样率:44100
采样通道:2
所有者模块:7
缓冲区使用量:160068
接收器使用秒:210488
驱动程序:protocol-native.c
客户端名称:torcs-bin

****移除接收器输入 2****

****检测到索引为 3 的接收器输入播放流 hello****
=======[ 接收器输入# 3 ]=======
名称:播放流
客户:13
接收器:0
样本格式:3
采样率:44100
采样通道:2
所有者模块:7
缓冲区使用量:347052
接收器使用量:23997
驱动程序:protocol-native.c
客户端名称:torcs-bin

****移除水槽输入 3****

****检测到索引为 4 的接收器输入播放流 hello****
=======[ 接收器输入# 4 ]=======
名称:播放流
客户:20
接收器:0
样本格式:3
采样率:44100
采样通道:2
所有者模块:7
缓冲区使用量:160068
接收器使用:210464
驱动程序:protocol-native.c
客户端名称:ioquake3

****移除水槽输入 4****

****检测到索引为 5 的接收器输入播放流 hello****
=======[ 接收器输入# 5 ]=======
名称:播放流
客户:20
接收器:0
样本格式:3
采样率:44100
采样通道:2
所有者模块:7
缓冲区使用量:346507
接收器使用量:23980
驱动程序:protocol-native.c
客户端名称:ioquake3

****移除水槽输入 5****
****检测到索引为 6 的接收器输入简单 DirectMedia 层 hello****
=======[ 接收器输入# 6 ]=======
名称:简单 DirectMedia 层
客户:24
接收器:0
样本格式:0
采样率:11025
采样通道:1
所有者模块:7
缓冲区使用量:265147
接收器使用量:105270
驱动程序:protocol-native.c
客户端名称:测试流

****移除水槽输入 6****

****检测到索引为 7 的接收器输入播放流 hello****
=======[ 接收器输入# 7 ]=======
名称:播放流
客户:26
接收器:0
样本格式:3
采样率:44100
采样通道:2
所有者模块:7
缓冲区使用量:91133
接收器使用量:209540
驱动程序:protocol-native.c
客户名称:MegaGlest

****移除水槽输入 7****

****检测到索引为 8 的接收器输入播放流 hello****
=======[ 接收器输入# 8 ]=======
名称:播放流
客户:26
接收器:0
样本格式:3
采样率:44100
采样通道:2
所有者模块:7
缓冲区使用量:347233
接收器使用量:22750
驱动程序:protocol-native.c
客户名称:MegaGlest

****移除水槽输入 8****




这个接收器索引0和1之间的唯一区别是缓冲区usec和接收器usec,这是我找到的。

我想知道这背后的原因是什么。为什么每次我运行这个游戏或任何其他游戏时都会创建 2 个接收器输入索引(我也尝试过其他游戏,但得到了相同的结果)。

相关内容