symphonia-codec-vorbis
Pure Rust Vorbis decoder (a part of project Symphonia).
0.6.1
8.2M downloads/mo
#3464 most downloaded on crates.io
pdeljanov/Symphonia
What this package is like to depend on
Last release 10 days ago
13 Aug 2026
Release timing varies
gaps range from 3 weeks to 1.6 years
Most releases are documented
notes for 8 of 9 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
11 releases · first in 2021
5 releases in the last 12 months
see the full history below
Release timeline
11 releases · Sep 2021 to Aug 2026Releases
latest 11-
0.6.113 Aug 2026Release notes
Open source →New Features
TimeBasenow provides a helper to calculate a clock time from aDuration.GenericAudioBufferandAudioSlices are now cloneableGenericAudioBufferandGenericAudioBufferRefare now sliceable.- Channel information is parsed for Opus tracks in ISO BMFF containers (M4A, MP4, etc.).
Bug Fixes & Improvements
- Significantly improved performance of loading media files with large attachments, visuals, or metadata.
- Fixed a bug where silent sections were not decoded if certain conditions were met for MP3 files.
- Fixed a bug where Xing/Info and VBRI tags were ignored if the MPEG frame containing it had a CRC.
- Fixed decoding of mono MP1 audio.
- All
unwraps have either been replaced withexpector made to return a runtime error. - Hardened demuxers against allocating obscene amounts of memory when reading maliciously crafted files.
- Fixed a significant number of panics discovered by fuzzing or AI.
New Contributors
- @tsar-boomba made their first contribution in #499
- @kp-fyn made their first contribution in #535
- @SAY-5 made their first contribution in #537
- @bolshoytoster made their first contribution in #507
- @Noethix55555 made their first contribution in #520
- @MelonShooter made their first contribution in #542
- @mvanhorn made their first contribution in #543
Full Changelog: v0.6.0...v0.6.1
-
0.6.015 May 2026Release notes
Open source →Welcome to Symphonia 0.6! 👋
Symphonia 0.6 is the culmination of two years of effort to rework Symphonia from an audio-focused multimedia framework to one that can be extended to support video and subtitles as well. While Symphonia does not yet support video and subtitle decoders, the groundwork laid in this release should allow easier prototyping of those features, and to more seamlessly introduce them in the future. As such there are significant breaking changes present in this release for existing users.
See the migration guide for detailed information on how to move to Symphonia 0.6.0.
New Features
- Format readers and decoders may now be registered with a preference tier/priority
- Format and metadata readers now provide methods to get information about themselves
- Format readers can now expose attachments (e.g., attached fonts)
- Decoders can now decode from non-owning packets, eliminating a copy if using a non-Symphonia demuxer
- ID3v1, APEv1, and APEv2 metadata formats are now supported
- Added support for chapters for Matroska, ID3v2, and Vorbis Comments
- Added support for Matroska metadata
- Image format and parameter detection for visuals
- Metadata tags that have an official or defacto meaning are parsed where possible (e.g., a track number tag is parsed into an
u64) MediaSourceStream, and all downstream consumers (e.g.,FormatReader), are now generic across the lifetime- SIMD optimizations are enabled by default
Bug Fixes & Improvements
Note
This section is not a detailed list of API changes. Please see the migration guide for a detailed listing.
- Redesigned all audio primitives
- Redesigned most metadata primitives
- Redesigned timestamp, time base, and duration types
- Format readers now return
Ok(None)when the media has ended - Probe now uses a scoring system to better avoid false positives
- Metadata encountered while probing for the media format are queued to the format reader
- Track-level information not related to the codec (e.g., all timing information) have been moved out of codec parameters and is more reliably populated
- Codec parameters are more reliably populated
- Rewrote Matroska demuxer to be safer
- Rewrote portions of MP4 demuxer to be safer
- Improved implementations of AIFF and CAF
- Many fixes from panics discovered through fuzzing
- Myriad miscellaneous fixes
- Decoding performance improvements
- Reduced binary size
- Improved documentation
- Established an official project MSRV policy: Incrementing the MSRV is a breaking change
New Contributors
- @acieslewicz made their first contribution in #384
- @aentity made their first contribution in #263
- @baylesj made their first contribution in #400
- @qarmin made their first contribution in #497
- @sscobici made their first contribution in #317
- @velvid made their first contribution in #399
Full Changelog: v0.5.4...v0.6.0
-
0.6.0-alpha.216 Apr 2026 pre-releaseNothing published for this version
-
0.6.0-alpha.124 Mar 2026 pre-releaseNothing published for this version
-
0.5.511 Oct 2025Release notes
Open source →New Features
- None. All new feature development is occurring in the 0.6 development branch. This is a maintenance release.
Bug Fixes & Improvements
- Fixed all new compiler and clippy warnings.
- Improved the robustness of the FLAC demuxer.
- Improved length approximation of ADTS streams.
- Lowered the log level of some informational logs to be less annoying.
- Many other fixes across the board!
New Contributors
- @aentity made their first contribution in #263
- @agersant made their first contribution in #312
- @roderickvd made their first contribution in #351
- @asnare made their first contribution in #396
- @hasezoey made their first contribution in #381
- @hamirmahal made their first contribution in #378
- @rudcode made their first contribution in #389
Full Changelog: v0.5.4...v0.5.5
-
0.5.427 Feb 2024Release notes
Open source →New Features
- Support for demuxing AIFF by @dedobbin in #193
- Support for demuxing CAF by @irh in #232
- Added optional SIMD acceleration using RustFFT. Enable specific SIMD ISAs with the
opt-simd-sse,opt-simd-avx, andopt-simd-neonfeature flags, oropt-simdto enable all.
Deprecations
- The
symphonia-format-wavcrate is now deprecated and superseded by thesymphonia-format-riffcrate. This new crate is intended to support demuxing of all RIFF-based multimedia formats such as WAVE, AIFF, AVI, etc. As of this release, thesymphonia-format-riffcrate providesWavReaderandAiffReader.
Bug Fixes & Improvements
- Major optimizations for AAC, FLAC, MP3, and Vorbis decoders.
- Support for FLAC picture blocks in Vorbis comments.
- Fix edge cases when seeking OGG or FLAC formats.
- Many other fixes across the board!
New Contributors
- @dedobbin made their first contribution in #193
- @AkiyukiOkayasu made their first contribution in #205
- @tenzap made their first contribution in #191
- @ClementNerma made their first contribution in #227
- @nukeop made their first contribution in #243
- @chris-ha458 made their first contribution in #230
- @perxjoh made their first contribution in #233
- @irh made their first contribution in #232
- @abique made their first contribution in #262
- @karlri made their first contribution in #231
Full Changelog: v0.5.3...v0.5.4
-
0.5.330 May 2023Release notes
Open source →Bug Fixes & Improvements
- Handle incorrect channel masks in WAV files by @jesnor in #180
- Fix an out-of-bounds panic in ADPCM by @dedobbin in #206
- Handle MP3s that wrongly used a reserved value for emphasis in #190
Full Changelog: v0.5.2...v0.5.3
-
0.5.219 Jan 2023Release notes
Open source →New Features
- New ADPCM decoder supporting IMA & MS codecs by @geckoxx in #160
- Extended MPEG audio decoder support for MP1 and MP2
- Coarse seeking support for MPEG audio formats
- Symphonia Play supports resampling on Windows by @erikas-taroza in #167
- Added
all,all-codecs, andall-formatsfeature flags onsymphoniacrate to make it easier to enable all codec and/or format support
Bug Fixes & Improvements
- Major performance improvements across most decoders! See the updated benchmarks!
- All known AAC decoding glitches have been fixed
- Phase inversion in the mu-law PCM decoder was fixed
- The PCM decoder now returns samples of the same type as the encoded audio rather than always returning
i32samples - The FLAC packet parser was rewritten to be simpler, faster, and better at handling pathological cases
- Added
SampleBuffer::samples_mutby @FelixMcFelix in #147 - Clippy warnings fixed by @GnomedDev in #144
- Many others!
New Contributors
- @geckoxx made their first contribution in #160
- @nilsding made their first contribution in #172
- @GnomedDev made their first contribution in #144
- @erikas-taroza made their first contribution in #167
Full Changelog: v0.5.1...v0.5.2
-
0.5.117 Jul 2022Release notes
Open source →New Features
- Add
skip_to_latestfunction toMetadataby @JasonLG1979 in #110 - Add
clearfunctions to (Raw)SampleBufferby @torokati44 in #126
Bug Fixes & Improvements
- Improved
symphonia-playon MacOS and Windows - Better ISO/MP4 fragmented stream support
- Fixed many bugs after a preliminary fuzzing of
Mp3ReaderandMp3Decoder - Handle malformed ID3v2 tags better instead of giving up entirely
- Many others!
New Contributors
- @JasonLG1979 made their first contribution in #110
Full Changelog: v0.5.0...v0.5.1
- Add
-
0.5.031 Jan 2022Release notes
Open source →New Features
- Apple Lossless Audio Codec (ALAC) decoder
- Matroska (MKV) & WebM demuxer
- Gapless playback for ALAC, FLAC, MP3, PCM, and Vorbis
- ISO/MP4/BMFF containers can now contain ALAC, FLAC, Opus, MP3, or PCM codecs
- A getting started guide
Bug Fixes & Improvements
- MP3 and Vorbis decoders are now classified as Excellent
- Improved the resilience and diagnostic messages of the MP3 demuxer when dealing with pathological inputs
- Performance and accuracy gains across the board
- Many other bug fixes and improvements
New Contributors
- @antifuchs made their first contribution in #90
- @Beinsezii made their first contribution in #61
- @Be-ing made their first contribution in #83
- @FelixMcFelix made their first contribution in #53
- @darksv made their first contribution in #66
- @sagudev made their first contribution in #98
- @Shnatsel made their first code contribution in #101
- @Techno-coder made their first contribution in #93
Full Changelog: v0.4.0...v0.5.0
-
0.4.021 Sep 2021Nothing published for this version