From: Andre Guedes <andre.guedes@intel.com>
To: alsa-devel@alsa-project.org
Cc: tiwai@suse.de, liam.r.girdwood@intel.com
Subject: [PATCH - AAF PCM plugin 0/7] Introduce AVTP Audio Format (AAF) plugin
Date: Wed, 3 Oct 2018 16:45:40 -0700 [thread overview]
Message-ID: <20181003234547.16839-1-andre.guedes@intel.com> (raw)
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].
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
[5] http://mailman.alsa-project.org/pipermail/alsa-devel/2018-August/139494.html
[6] http://mailman.alsa-project.org/pipermail/alsa-devel/2018-September/140290.html
[7] https://github.com/aguedes/alsa-plugins
Andre Guedes (7):
aaf: Introduce plugin skeleton
aaf: Load configuration parameters
aaf: Implement Playback mode support
aaf: Prepare for Capture mode support
aaf: Implement Capture mode support
aaf: Implement dump() ioplug callback
aaf: Add support for direct read/write transfers
Makefile.am | 3 +
aaf/Makefile.am | 9 +
aaf/pcm_aaf.c | 1197 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
configure.ac | 9 +
doc/aaf.txt | 142 +++++++
5 files changed, 1360 insertions(+)
create mode 100644 aaf/Makefile.am
create mode 100644 aaf/pcm_aaf.c
create mode 100644 doc/aaf.txt
--
2.14.4
next reply other threads:[~2018-10-03 23:46 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-03 23:45 Andre Guedes [this message]
2018-10-03 23:45 ` [PATCH - AAF PCM plugin 1/7] aaf: Introduce plugin skeleton Andre Guedes
2018-10-10 10:27 ` Takashi Iwai
2018-10-10 21:22 ` Guedes, Andre
2018-10-03 23:45 ` [PATCH - AAF PCM plugin 2/7] aaf: Load configuration parameters Andre Guedes
2018-10-10 10:29 ` Takashi Iwai
2018-10-03 23:45 ` [PATCH - AAF PCM plugin 3/7] aaf: Implement Playback mode support Andre Guedes
2018-10-10 10:34 ` Takashi Iwai
2018-10-10 21:27 ` Guedes, Andre
2018-10-11 7:31 ` Takashi Iwai
2018-10-11 7:45 ` Takashi Sakamoto
2018-10-11 8:00 ` Takashi Iwai
2018-10-11 19:53 ` Guedes, Andre
2018-10-03 23:45 ` [PATCH - AAF PCM plugin 4/7] aaf: Prepare for Capture " Andre Guedes
2018-10-03 23:45 ` [PATCH - AAF PCM plugin 5/7] aaf: Implement " Andre Guedes
2018-10-03 23:45 ` [PATCH - AAF PCM plugin 6/7] aaf: Implement dump() ioplug callback Andre Guedes
2018-10-03 23:45 ` [PATCH - AAF PCM plugin 7/7] aaf: Add support for direct read/write transfers Andre Guedes
2018-10-10 10:25 ` [PATCH - AAF PCM plugin 0/7] Introduce AVTP Audio Format (AAF) plugin Takashi Iwai
2018-10-10 21:19 ` Guedes, Andre
2018-10-22 16:51 ` Pierre-Louis Bossart
2018-10-23 20:01 ` Guedes, Andre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181003234547.16839-1-andre.guedes@intel.com \
--to=andre.guedes@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=liam.r.girdwood@intel.com \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.