opus-embedded-sys

Crates.ioopus-embedded-sys
lib.rsopus-embedded-sys
version0.1.1
created_at2025-05-09 09:58:13.989548+00
updated_at2025-05-19 12:26:59.951554+00
descriptionBindings to libopus for decoding Opus audio on embedded systems
homepage
repositoryhttps://github.com/Tomin1/oggopus-embedded
max_upload_size
id1666848
size14,975,794
Tomi Leppänen (Tomin1)

documentation

README

libopus bindings for decoding

This is libopus bindings for decoding Opus. The build links libopus statically and is no_std and no_alloc on targets without std library.

The build for ARM has flags set for Cortex-M0+. Other microcontrollers could be supported better with some work. Uses libopus's autotools build system as that seems to work well for cross compiling currently.

Note that the code might not work on some platforms if OpusDecoder size differs. Please file issue tickets when you see size mismatches.

Crates.io BSD-3-Clause licensed

Features

This crate has some features that can be enabled or disabled as needed.

  • optimize_libopus enables optimizing libopus build even in debug builds. This is important for performance and is enabled by default.
  • stereo makes OpusDecoder struct to take more space so that decoders for stereo streams can be initialized. Not enabled by default.

Abstractions over this crate should disable default features and include their own respective features that enable these features case by case.

License

This crate is BSD licensed just like libopus. See COPYING and COPYING.libopus for more information. Dependency crates have their own licenses.

Commit count: 74

cargo fmt