symphonia-adapter-libopus

Crates.iosymphonia-adapter-libopus
lib.rssymphonia-adapter-libopus
version0.2.5
created_at2025-10-05 04:08:35.26414+00
updated_at2025-12-20 03:39:03.934738+00
descriptionAdapter to use libopus with Symphonia
homepagehttps://github.com/aschey/symphonia-adapters
repositoryhttps://github.com/aschey/symphonia-adapters
max_upload_size
id1868583
size28,971
Austin Schey (aschey)

documentation

README

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.

Commit count: 0

cargo fmt