quiniouben / vban

VBAN protocol open-source implementation
GNU General Public License v3.0
450 stars 63 forks source link

Wrap into PulseAudio sink/source #15

Open erikvanhamme opened 6 years ago

erikvanhamme commented 6 years ago

Idea/enhancement:

It would be nice to have PulseAudio sinks and sources available that participate in the VBAN network. This would allow Linux PC's to participate fully in audio networks. It would become possible to send out the Linux audio over the network, have it processed by a windows PC, and the result streamed back to the Linux PC.

Since the emitter and receptor work, most of the work is already done, only some wrapper code would be needed.

I am willing to assist in the development should you agree that it is a cool idea. I am an experienced embedded software engineer. I am comfortable with programming, but I have very little experience in the PulseAudio framework.

quiniouben commented 6 years ago

Hi, thanks a lot for your input and proposal. If you use the pulseaudio backend, vban_emitter is a sink and if you use vban_receptor it is a source already, that's how it works, or did I miss something additional ?

erikvanhamme commented 6 years ago

The applications are written as pulseaudio clients. It is possible to make loadable modules which will integrate as plugins into the pulseaudio stack.

See: https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/ for more details.

There would be a sink module (the emitter) and a source module (the receptor). This approach has the advantage that the emiter and receptor would become an actual soundcard to the system. It would become possible to record an incoming stream via audacity though the pulseaudio stack.

I don't oversee all the requirements to build pulseaudio modules. I will look into it a bit more and see if I can get a dummy module started. Would you be willing to cooperate on this?

quiniouben commented 6 years ago

Sorry for the delay ! Sure, Vban is not a complicated protocol, we can surely add these sink and source in the family of tools. I can assist you with pleasure

quiniouben commented 6 years ago

Hi, have you seen this one: https://github.com/004helix/vban2pipe

KubaPro010 commented 2 months ago

I think that op is talking about a pulseaudio module which can be better to write something like "pactl load-module module-vban-receptor ip=..." then having a terminal open all time (pa module starter and example modules)