# 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.
