#ogg-vorbis #vorbis

revorbis-rs

A try to rewrite libvorbis in Rust

4 releases

Uses new Rust 2024

0.0.4 May 19, 2025
0.0.3 May 16, 2025
0.0.2 May 15, 2025
0.0.1 May 14, 2025

#1031 in Audio

Download history

188 downloads per month

Custom license

280KB
6.5K SLoC

Revorbis-rs

A try to rewrite libvorbis in Rust.

My main target

Firstly I'm not going to reinvent the Vorbis wheel, I just want to use libvorbis to encode/decode the Ogg Vorbis audio files.

But one day, I had to face the non-capsulated naked Vorbis file. libvorbis fails to decode this kind of audio, it must need the Ogg encapsulation or Matroska.

I've tried to re-encapsulate the naked Vorbis file using Ogg, but then I found out that I need two things:

  1. The Vorbis packet length, which can only be obtained by decoding the bitwise Vorbis packet.
  2. The granule position for each Vorbis packet.

So I'm now re-inventing the Vorbis wheel in Rust.

Dependencies

~0.1–17MB
~280K SLoC