Explore the implementation of compress offload in PulseAudio in this conference talk from linux.conf.au 2020. Dive into the challenges and tradeoffs involved in adapting PulseAudio, originally designed for uncompressed audio, to support modern SoCs' power-saving compress offload feature. Learn about the underlying library, API changes, plumbing, and specific considerations like flush and drain operations. Discover how this implementation impacts other audio technologies like GStreamer and examine future possibilities for this work. Gain insights into audio stack optimization, DSP utilization, and specific codec handling such as WMA and gapless playback, with a focus on Qualcomm hardware.
Overview
Syllabus
Introduction
The Audio Stack
Why the DSP
The solution
The underlying library
Syncs
Sink
API
Plumbing
Flush and Drain
Compress Offload
GStreamer
Metadata
WMA
Gapless playback
Qualcomm
Taught by
linux.conf.au