#libopus #opus #codec

opusic-c

High level bindings to libopus

10 releases (3 stable)

1.5.4 Oct 11, 2025
1.5.3 Sep 16, 2025
1.5.2 Feb 21, 2025
1.5.2-beta.7 Jan 21, 2025
1.5.2-beta.6 Dec 14, 2024

#506 in Audio

50 downloads per month

BSD-3-Clause

115KB
2K SLoC

opusic-c

Rust Crates.io Documentation

High level bindings to libopus

Target version 1.5.2

Allocator

This library uses Rust's allocator whenever possible

Features

  • bundled - Enables use of bundled OPUS code to build static library. Enabled by default. Refer to opusic-sys for details
  • dred - Enables experimental DRED decoder. Disabled by default.
  • osce - Enables OSCE. Disabled by default.
  • no-hardening - disable run-time checks that are cheap and safe for use in production. Disabled by default.
  • no-stack-protector = disable stack protection. Disabled by default.
  • no-fortify-source - disable protection against buffer overflows. Disabled by default.

Setup

If the OPUS_LIB_DIR environment variable is set, it will be searched for the opus library. Otherwise, a static library will be built automatically.

Android build

When building for android, library requires presence of env variable ANDROID_NDK_HOME in order to supply cmake with toolchain file and correct target arch.

Requirements

  • cmake

Optional

  • ninja - When present, build script defaults to use corresponding CMake's generator

Dependencies

~21MB
~596K SLoC