Ecasound Ogg Vorbis Audio Decoding Library

Ecasound is a powerful command-line multitrack audio processing tool that relies on dedicated open-source libraries to handle compressed formats. To decode and encode Ogg Vorbis audio streams natively, Ecasound utilizes the reference libvorbis library developed by the Xiph.Org Foundation, specifically depending on its high-level convenience API component, libvorbisfile, alongside libogg. Additionally, Ecasound can decode Ogg Vorbis streams through libsndfile depending on the compilation configuration.

The Primary Library: libvorbis (libvorbisfile)

The primary native engine Ecasound uses for Ogg Vorbis handling is libvorbisfile, a standard component of the official libvorbis package provided by Xiph.Org.

When processing Ogg Vorbis files natively, Ecasound feeds the compressed container through libogg and uses libvorbisfile routines to extract linear PCM audio, which it then processes through its routing, mixing, or effect chains.

Alternative Decoding via libsndfile

In addition to its native Vorbis subsystem, Ecasound can also decode Ogg Vorbis files via libsndfile.

If Ecasound is compiled with libsndfile support, and libsndfile itself was built against libvorbis, Ecasound can use this abstraction layer to read Ogg Vorbis files transparently alongside other PCM audio containers like WAV and AIFF.

Build and Dependency Requirements

For Ecasound to support Ogg Vorbis decoding during compilation, the build environment must detect the development headers for the reference Vorbis implementation:

Without the libvorbis and libogg development libraries present on the host system, native Vorbis processing will be disabled in Ecasound's configuration stage.