alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [RFC - AAF PCM plugin 0/5] Introduce AVTP Audio Format (AAF) plugin
@ 2018-08-21  1:06 Andre Guedes
  2018-08-21  1:06 ` [RFC - AAF PCM plugin 1/5] aaf: Introduce plugin skeleton Andre Guedes
                   ` (4 more replies)
  0 siblings, 5 replies; 27+ messages in thread
From: Andre Guedes @ 2018-08-21  1:06 UTC (permalink / raw)
  To: alsa-devel; +Cc: liam.r.girdwood

Hi all,

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.

Details about the plugin implementation are provided in the patches
description, and information on how to configure and run the AAF plugin is
provided in doc/aaf.txt file.

Best regards,

Andre

[1] 1722-2016 - IEEE Standard for a Transport Protocol for Time-Sensitive
    Applications in Bridged Local Area Networks
[2] http://linuxptp.sourceforge.net
[3] https://patchwork.ozlabs.org/cover/826678/
[4] https://github.com/AVnu/libavtp

Andre Guedes (5):
  aaf: Introduce plugin skeleton
  aaf: Load configuration parameters
  aaf: Implement Playback mode support
  aaf: Prepare for Capture mode support
  aaf: Implement Capture mode support

 Makefile.am     |    3 +
 aaf/Makefile.am |    9 +
 aaf/pcm_aaf.c   | 1172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 configure.ac    |    9 +
 doc/aaf.txt     |  110 ++++++
 5 files changed, 1303 insertions(+)
 create mode 100644 aaf/Makefile.am
 create mode 100644 aaf/pcm_aaf.c
 create mode 100644 doc/aaf.txt

-- 
2.14.4

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2018-09-12 23:46 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-21  1:06 [RFC - AAF PCM plugin 0/5] Introduce AVTP Audio Format (AAF) plugin Andre Guedes
2018-08-21  1:06 ` [RFC - AAF PCM plugin 1/5] aaf: Introduce plugin skeleton Andre Guedes
2018-08-21  1:06 ` [RFC - AAF PCM plugin 2/5] aaf: Load configuration parameters Andre Guedes
2018-08-21  3:16   ` Pierre-Louis Bossart
2018-08-21 21:57     ` Guedes, Andre
2018-08-21  1:06 ` [RFC - AAF PCM plugin 3/5] aaf: Implement Playback mode support Andre Guedes
2018-08-21  3:37   ` Pierre-Louis Bossart
2018-08-21 21:58     ` Guedes, Andre
2018-08-21 22:51       ` Pierre-Louis Bossart
2018-08-23  0:46         ` Guedes, Andre
2018-08-23  2:25           ` Pierre-Louis Bossart
2018-08-23 18:32             ` Guedes, Andre
2018-08-23 18:51               ` Pierre-Louis Bossart
2018-08-23 21:55                 ` Guedes, Andre
2018-08-25  8:13               ` Takashi Sakamoto
2018-08-29  1:00                 ` Guedes, Andre
2018-08-31  4:33                   ` Takashi Sakamoto
2018-08-31 23:18                     ` Guedes, Andre
2018-09-03  1:24                       ` Takashi Sakamoto
2018-09-07  1:40                         ` Guedes, Andre
2018-09-12 23:45               ` Guedes, Andre
2018-08-21  4:31   ` Takashi Sakamoto
2018-08-21 22:40     ` Guedes, Andre
2018-08-21  1:06 ` [RFC - AAF PCM plugin 4/5] aaf: Prepare for Capture " Andre Guedes
2018-08-21  1:06 ` [RFC - AAF PCM plugin 5/5] aaf: Implement " Andre Guedes
2018-08-21  5:17   ` Takashi Sakamoto
2018-08-21 23:11     ` Guedes, Andre

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).