Re: module-remap-source, module-virtual-source, and latencies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

re-reading, it seems that you don't want to mix your microphone with some application data, but just send the application data to Chrome. Without !661, you would use module-remap-source with the master pointing to the monitor of a null sink, with !661 you have the additional option of using module-null-source and let module-remap-source
create your sink with the uplink_sink parameter.

Regards
       Georg

On 17.04.22 11:44, Georg Chini wrote:
Hi,

module-virtual-source is only an example of how a filter source should be implemented and is very rarely used. Module-remap-source is intended to be used if you want to change the channel map of your source. Module-remap-source has much less overhead, so it is probably
the better option for your use case.
On the other hand, module-virtual-source provides the uplink_sink option, which creates a sink that is mixed into the virtual source, which means you would not need the null sink.

If you are able to compile your own pulseaudio, you might want to try
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/661
This MR generalizes the uplink_sink feature so that you can also use it with module-remap-sink
which should provide the lowest possible latency.

Regards
       Georg

On 17.04.22 06:48, Chase Lambert wrote:
Hi,

I'm trying to make a low latency Virtual microphone. What that means is I make a null sink, and then a module-virtual-source or module-remap-source that has a master pointing to the sink's monitor.

Then I can write to that sink, and get data to show up in this virtual microphone.

I've found that module-remap-source has a lower latency than module-virtual-source, (~400ms lower it seems), but I don't have any idea why. And more generally -- what is the difference between these two modules? I looked at their source and also the git history, but that didn't clear much up for me.

Also, is this the best way to make a low latency microphone? I have an application that I want to send data to Chrome, with as low latency as possible. Chrome operates directly with pulseaudio[0].

Thanks,
Chase

[0] https://source.chromium.org/chromium/chromium/src/+/main:media/audio/pulse/audio_manager_pulse.cc <https://source.chromium.org/chromium/chromium/src/+/main:media/audio/pulse/audio_manager_pulse.cc>






[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux