Making Passthrough Audio on Linux Just Work

Session information has not yet been published for this event.


One Line Summary

This is a talk about the various changes we made to PulseAudio and GStreamer to support passthrough output for compressed audio formats and how applications can make use of this.


Typically, applications that support direct output of compressed audio formats implement their own internal hacks, requiring code duplication between applications and user intervention. Moreover, these are generally limited to common formats such as AC3 and DTS streamed over S/PDIF and HDMI to A/V receivers.

Over the last few months, we have added support in PulseAudio for streaming compressed formats, and modified GStreamer to allow applications to transparently make use of this ability. The method is generic enough to be used with other hardware decoders such as Bluetooth headsets that decode MPEG audio and SoCs with decoder blocks that talk directly to the audio hardware.

This talk will cover the motivation for solving this problem, challenges involved, various infrastructure modifications that were required, client-side changes required to allow apps to provide seamless passthrough support, and potential future work.


pulseaudio, gstreamer, audio


  • Profilephoto

    Arun Raghavan

    Collabora Multimedia


    Arun Raghavan is a long-time open source supporter and contributor. He hacks on PulseAudio and GStreamer at Collabora Multimedia. He also wrote large parts of the gupnp-dlna library, and is a developer on the Gentoo Linux distribution.