#codec #decoder #encoder #xiph #transport-stream

ogg

Ogg container decoder and encoder written in pure Rust

17 unstable releases

0.9.1 Dec 10, 2023
0.9.0 Jul 6, 2022
0.8.0 Jan 20, 2021
0.7.1 Nov 21, 2020
0.3.0 Jul 30, 2016

#109 in Parser implementations

Download history 15306/week @ 2023-12-04 16332/week @ 2023-12-11 15794/week @ 2023-12-18 14119/week @ 2023-12-25 15068/week @ 2024-01-01 18632/week @ 2024-01-08 19144/week @ 2024-01-15 20694/week @ 2024-01-22 18626/week @ 2024-01-29 18683/week @ 2024-02-05 19031/week @ 2024-02-12 21563/week @ 2024-02-19 21387/week @ 2024-02-26 22430/week @ 2024-03-04 18708/week @ 2024-03-11 17135/week @ 2024-03-18

82,090 downloads per month
Used in 138 crates (16 directly)

BSD-3-Clause

78KB
1.5K SLoC

Ogg docs.rs documentation

An Ogg decoder and encoder. Implements the xiph.org Ogg spec in pure Rust.

If the async feature is disabled, Version 1.56.1 of Rust is the minimum supported one.

Note: .ogg files are vorbis encoded audio files embedded into an Ogg transport stream. There is no extra support for vorbis codec decoding or encoding in this crate, so you need additional functionality in order to decode them. For example, you can use the lewton crate.

Also note that the encoder part of the Crate isn't as well tested as the decoder part, in fact it was only written in order to write compact testing code for the decoder.

License

Licensed under the three clause BSD license. For details, see the LICENSE file.


lib.rs:

Ogg container decoder and encoder

The most interesting structures for in this mod are PacketReader and PacketWriter.

Dependencies

~0–1.5MB
~26K SLoC