PulseAudio 中的 module-remap-source 和 module-virtual-source 有什么区别

What's the difference between module-remap-source and module-virtual-source in PulseAudio

如果我 运行 以下命令,我会得到一个连接到名为“MicOutput”的接收器的“虚拟麦克风”。如果我将数据发送到“MicOutput”,则该数据将发送到虚拟麦克风。

pactl load-module module-null-sink sink_name=MicOutput sink_properties=device.description="MicOutput"
pacmd load-module module-virtual-source source_name=VirtualMic master=MicOutput.monitor

如果我将第二行替换为:

,我会得到类似的行为
pactl load-module module-remap-source source_name=Remap-Source master=MicOutput.monitor

我看到的主要区别是延迟较低。

但这有什么区别呢?我什么时候想使用一个或另一个?

我目前的研究

我看到了这两个文件:

也许如果我足够仔细地查看代码,我就会理解答案。我想知道是否有人碰巧知道答案?

  • module-virtual-source 通常不使用。这是应如何实施“过滤源”的示例。
  • Module-remap-source 的开销要少得多

资料来源:我问了 PulseAudio 团队。 https://lists.freedesktop.org/archives/pulseaudio-discuss/2022-April/032260.html