[alsa-devel] [RFC] AVB - network-based soundcards in ALSA

Alexander E. Patrakov patrakov at gmail.com
Mon May 26 18:21:10 CEST 2014

26.05.2014 19:03, Henrik Austad wrote:
> Hi all!
> This is an RFC for a new class of soundcards. I am not very familiar
> with how ALSA is tied together underneath the hood, so what you see
> here, is based on my naive understanding of ALSA. I wear asbestos
> underwear on a regular basis, so I prefer honesty over sugarcoating :)

Hello. All of this looks very interesting, but a bit more information is 
needed in order to put this in context.

First: is this supposed to work with any ethernet card? Or is some 
special hardware needed on the PC side? If so, which hardware?

Second: I would like to know more about the buffering model. For 
simplicity, let's consider playback from a PC to a remote receiver. 
Obviously, as the intention is to create something that looks like a 
regular ALSA sound card, there should be a circular buffer that holds 
sound samples (just like the DMA buffer on regular sound cards). There 
also needs to be "something" that sends samples from this buffer into 
the network. Is my understanding correct?

> * IEEE 1722 (and 1733 for layer-3) Layer 2 Transport for
>    audio/video. The packing is similar to what is done in Firewire. You
>    have 8kHz frame intervals for class A, 4kHz for class B. This gives
>    relatively few samples pr. frame. Currently we only look at Layer 2 as
>    small peripherals (microphones, speakers) will only have to implement
>    L2 instead of the entire IP-stack.

So, are you proposing to create a real-time kernel thread that will wake 
up 4000 or 8000 times per second in order to turn a few samples from the 
circular buffer into an Ethernet packet and send it, also advancing the 
"hardware pointer" in the process? Or do you have an idea how to avoid 
that rate of wakeups?

Alexander E. Patrakov

More information about the Alsa-devel mailing list