[alsa-devel] [PATCH - AAF PCM plugin 0/7] Introduce AVTP Audio Format (AAF) plugin
Guedes, Andre
andre.guedes at intel.com
Wed Oct 10 23:19:25 CEST 2018
Hi Takashi,
On Wed, 2018-10-10 at 12:25 +0200, Takashi Iwai wrote:
> On Thu, 04 Oct 2018 01:45:40 +0200,
> Andre Guedes wrote:
> >
> > Hi all,
> >
> > The AAF plugin RFC series v2 has been around on alsa-devel ML for
> > more than two
> > weeks so I'm moving forward and sending it as PATCH series now.
> >
> > The first 5 patches from this series are pretty much the same from
> > the previous
> > version. The news are the top 2 patches which add more
> > functionality to the
> > plugin. Patch 6/7 implements the dump() callback which has been
> > useful for
> > debugging purposes and Patch 7/7 adds support for direct read/write
> > transfers.
> >
> > For general context information about the AAF plugin, I'm quoting
> > below the
> > cover letter from the RFC series v1:
> >
> > "This patchset introduces the AAF plugin to the alsa-plugins
> > project
> > which enables TSN audio applications on Linux.
> >
> > For those not familiarized with TSN, it stands for Time-
> > Sensitive
> > Networking, and it's a set of IEEE technologies (enhancements
> > to IEEE
> > 802.1Q and Ethernet protocols) that provide precise time
> > synchronization, bounded latency and application
> > interoperability to
> > bridged networks. Those technologies enable time-sensitive
> > applications
> > such as audio, video and control loops to run on top of bridged
> > networks, co-existing with regular applications. TSN
> > technologies are a
> > super set of Audio Video Bridging (AVB) technologies also
> > developed by
> > IEEE. AVTP is the protocol defined to transport data in a TSN
> > system,
> > and AAF is one of the formats defined by AVTP to encapsulate
> > audio
> > data. AAF is specified in Chapter 7 from the AVTP spec [1].
> >
> > This work is part of the effort to enable TSN technologies on
> > upstream
> > Linux ecosystem. All building-blocks required to enable TSN
> > audio
> > applications have been already developed and pushed to upstream
> > projects. Time synchronization features are provided by
> > linuxptp
> > project [2], bounded latency features are provided by Linux
> > Traffic
> > Control subsystem since kernel version 4.15 [3], and AVTP
> > packetization
> > is provided by libavtp [4]. What is currently missing in the
> > ecosystem
> > to enable TSN audio applications is a piece of software that
> > plumbs it
> > all together and interfaces with Linux Audio system properly.
> > That's
> > the point of the AAF plugin introduced here.
> >
> > The AAF plugin is a PCM plugin that uses AVTP protocol to
> > transmit /
> > receive audio data through a TSN capable network. When
> > operating in
> > playback mode, the plugin reads PCM samples from the audio
> > buffer,
> > encapsulates into AVTP packets and transmits to the network,
> > mimicking
> > a typical AVTP Talker. When operating in capture mode, the
> > plugin
> > receives AVTP packets from the network, retrieves the PCM
> > samples, and
> > present them to alsa-lib layer at the presentation time,
> > mimicking a
> > typical AVTP Listener."
> >
> > For further information about what has been previously discussed,
> > please refer
> > to RFC series v1 and v2 archives in [5] and [6]. Finally, all
> > versions of this
> > series can be also found in my alsa-plugins tree in github [7].
>
> The codes look mostly good. I'll post just a new nitpicking later.
>
> But I'd like to postpone the merge until Pierre back from his
> vacation and getting some feedback from him.
Ok, thanks for letting me know. I'll address your comments locally and
wait for his feedback before pushing the v2.
> BTW, what's the good way to test this stuff locally?
The minimal setup to test the plugin requires 2 machines connected
back-to-back. The machines should be equipped with a TSN-capable NIC
that supports PTP and FQTSS features. I'm using Intel i210 NIC.
doc/aaf.txt provides detailed instructions on how to setup the PTP and
FQTSS features from the NIC as well as how to run the plugin. If you
have any trouble with the instructions, please let me know and I'll fix
it for the next series version.
Thanks,
Andre
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3262 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20181010/b9930403/attachment.bin>
More information about the Alsa-devel
mailing list