#audio-codec #symphonia #opus #aac

symphonia-adapter-libopus

Adapter to use libopus with Symphonia

11 releases

Uses new Rust 2024

0.2.7 Mar 21, 2026
0.2.6 Feb 16, 2026
0.2.5 Dec 20, 2025
0.2.3 Oct 13, 2025
0.1.2 Oct 6, 2025

#120 in Audio

Download history 97/week @ 2025-12-23 35/week @ 2025-12-30 66/week @ 2026-01-06 56/week @ 2026-01-13 76/week @ 2026-01-20 97/week @ 2026-01-27 76/week @ 2026-02-03 93/week @ 2026-02-10 418/week @ 2026-02-17 112/week @ 2026-02-24 380/week @ 2026-03-03 566/week @ 2026-03-10 559/week @ 2026-03-17 27919/week @ 2026-03-24 52401/week @ 2026-03-31 70453/week @ 2026-04-07

152,158 downloads per month
Used in 5 crates (4 directly)

MIT/Apache

14KB
248 lines

symphonia-adapter-libopus

crates.io docs.rs license CI codecov GitHub repo size Lines of Code

Adapter for using libopus with Symphonia. Symphonia currently does not have native Opus support, so this crate can provide it until a first-party solution is available.

See the libopus binding documentation for details on how to configure linking libopus.

Usage

use symphonia_core::codecs::CodecRegistry;
use symphonia_adapter_libopus::OpusDecoder;

let mut codec_registry = CodecRegistry::new();
codec_registry.register_all::<OpusDecoder>();
// register other codecs

// use codec_registry created above instead of symphonia::default::get_codecs();

Linking & Bundling

By default libopus will be compiled and bundled into the resulting binary.

To disable this, set default-features = false. Or to explicitly enable bundling add feature bundled.

License

This crate is licensed under either the MIT and Apache 2.0 license, at your choice.

libopus and opusic-sys are licensed under the opus license.

Dependencies

~22MB
~615K SLoC