The Story of PulseAudio and Compress Offload
Room 7 | Wed 15 Jan | 4:40 p.m.–5:25 p.m.
Presented by
-
Arun Raghavan
@louiswu
https://arunraghavan.net
Arun is a maintainer of the PulseAudio audio server and a developer of the GStreamer multimedia framework. He enjoys work on low-level systems plumbing and working across various layers of the software stack. He loves his types and will try to get you to write Haskell or Rust if you let him.
Arun Raghavan
@louiswu
https://arunraghavan.net
Abstract
While PulseAudio has been a standard component in desktop and embedded Linux for a decade now, it was always written with uncompressed audio data in mind.
To save power. modern SoCs often support "compress offload", where an efficient DSP can receive compressed MP3/AAC/... data, decode and render it to be played out.
In this talk, I'll describe how this was implemented in PulseAudio, what challenges and tradeoffs were involved, and what the future might hold for this work.
Linux Australia: http://mirror.linux.org.au/pub/linux.conf.au/2020/room_7/Wednesday/The_Story_of_PulseAudio_and_Compress_Offload.webm
YouTube: https://www.youtube.com/watch?v=AQpiFiTDXlo
While PulseAudio has been a standard component in desktop and embedded Linux for a decade now, it was always written with uncompressed audio data in mind. To save power. modern SoCs often support "compress offload", where an efficient DSP can receive compressed MP3/AAC/... data, decode and render it to be played out. In this talk, I'll describe how this was implemented in PulseAudio, what challenges and tradeoffs were involved, and what the future might hold for this work. Linux Australia: http://mirror.linux.org.au/pub/linux.conf.au/2020/room_7/Wednesday/The_Story_of_PulseAudio_and_Compress_Offload.webm YouTube: https://www.youtube.com/watch?v=AQpiFiTDXlo