The Story of PulseAudio and Compress Offload
summary
PulseAudio adds support for sending encoded MP3/AAC/etc. straight to DSPs by using the ALSA compress offload API and a modified client protocol that attaches timestamp and duration fields plus per-buffer flags; rewinds are disabled for compressed streams and a new GStreamer sink element bypasses PCM assumptions. Work hits practical snags: HE‑AAC and WMA need exact parser metadata, only Qualcomm DragonBoard currently exposes upstream kernel support, and gapless playback and precise latency coordination remain unresolved despite measurable power savings on suitable SoCs.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 0:48The Audio Stack
- 2:55Why the DSP
- 8:38The solution
- 9:36The underlying library
- 14:41Syncs
- 15:26Sink
- 17:21API
- 18:36Plumbing
- 20:09Flush and Drain
- 22:31Compress Offload
- 23:47GStreamer
- 25:38Metadata
- 27:34WMA
- 31:03Gapless playback
- 31:35Qualcomm
related talks
36mWhat's next for Bluetooth in PulseAudio?
37mBuilding a Zero-Copy DSP Offload Framework in Linux Using RPM...
01h 00mAudio on Linux: The End of a Golden Age?
35mSupporting Hardware Codecs in a Linux system
41mThe State of Hardware Video Codecs in Linux
35mIntroduction to DAPM, Linux Power Management for Embedded Audio Devices
41mThe State of Hardware Video Codecs in Linux
52mASoC: Supporting Audio on an Embedded Board
