- Updated ogg to 0.8
- Updated tinyvec to 1.0
- Testsuite fixes. Thanks to @nico-abram for their help!
- Removed deprecated Error descriptions
- Swapped smallvec for tinyvec. Thanks to @Shnatsel for the contribution!
- MSRV increased to 1.36.0. This is mainly because smallvec needs 1.36.0 now.
- Updated to smallvec 1.0. Thanks to @repi for the contribution!
- C API via cbingen/cargo-c. Thanks to @lu-zero for the contribution!
- Various simplifications in audio.rs. Thanks to @AnthonyMikh for the contribution!
- Moved from Travis CI to Github Actions. Thanks to @Luni-4 for the contribution!
- Adopted a workspace to have a common Cargo.lock file.
- Added a function to obtain the stream serial from an
OggStreamReader
- Invalid UTF-8 strings in comment headers are now silently omitted
- Allowed to specify floats as output format
- Fixed multiple bugs on fuzzed inputs
- Fixed wrongly decoded files. Now, not a single mismatch to libvorbis is left on the xiph and libnogg test vectors (issue #26)
- Updated ogg to 0.7.0
- Fixed a wrongly decoded file bug (issue #24)
- Performance improvements of about 10%. Thanks to @GabrielMajeri for the contribution!
- Fixed some wrongly decoded files
- Fixed some panics on crafted input. Thanks to @Shnatsel for the fuzzing and bug reports.
- Added travis CI
- Renamed
async
toasync_api
for better edition 2018 compilance - Updated ogg to 0.6.0
- Expanded test suite to include xiph test vectors
- Support for chained files
- Removed unused error enum variant
- Pub used OggReadError so that people can match on its variants without needing to depend on the Ogg crate
- Used min instead of residue_begin/residue_end directly. See also the PR that modified the vorbis spec accordingly.
- Removed all uses of unsafe in return of making Rust 1.20 required
- Exposed blockize_0 and blocksize_1 in the public API of the ident header again, so that lewton can be used without ogg encapsulation.
- Fix a doc link
- Made parts of the API that are not intended for the public crate local
- Added seeking support with a granularity of pages
- Updated to ogg to 0.5.0
- The async support now doesn't need unstable features any more, and bases on tokio
- Removed two unused macros to prevent warnings about them
- Bugfix to work on newest Rust nightly/beta
- Bugfix to work with the alto crate instead of openal-rs which has been yanked
- Bugfix in the player example for duration calculation
- New, more convenient, constructor for OggStreamReader.
- Updated to Byteorder 1.0.
- Fixed a panic issue with reading huffman trees.
- Updated ogg.
- Made the
inside_ogg
API own the reader.
- Added support for floor 0. It is not used in practice anymore, but now all features of the vorbis format are supported.
- Improved the API for reading decoded packets.
- Fixed a bug in comment header parsing.
- Various minor simplifications.
- Improved the cmp tool. You can now compare our output to libvorbis
with
cargo test --release -- --nocapture
, and our speed withcargo run --release bench
.
- Improved speed by about 20%.
- Added async ready API to the
inside_ogg
module to work with async IO. Still behind a feature as it relies on the unstable specialisation feature. - Removed parts of the API that were irrelevant to users of the crate. This gives a better overview for our users. Unfortunately due to pub(crate) not being stable yet, not all parts of the API could have been made private.
- Examples are CC-0 now, this should ease adoption.
- Documentation improvements
- Implemented a tool to compare our speed and output with libvorbis.
To see how correct this crate is, cd to
dev/cmp
and docargo run --release vals /path/to/test_file.ogg
. For speed tests, swap "vals" with "perf".
Initial release.