// the find
pdeljanov/Symphonia
Pure Rust multimedia format demuxing, tag reading, and audio decoding library
Symphonia is a pure-Rust library for decoding audio (MP3, FLAC, AAC, Vorbis, ALAC, etc.) and demuxing media containers (OGG, MKV, MP4, WAV). It's the go-to choice for Rust projects that need audio playback or processing without FFI into libav. Used as the audio backend in projects like Rodio and Bevy.
100% safe Rust with no unsafe blocks in the codec implementations — meaningful for sandboxed or security-sensitive contexts. Fuzz coverage per codec and per demuxer, which is exactly what you want for a library parsing untrusted binary data. Performance benchmarks show parity with FFmpeg within ±15%, which is a credible claim backed by actual numbers in the repo. The modular crate-per-codec structure means you pay only for what you enable — no AAC patent surface if you only need FLAC.
Opus and WavPack decoders are stubs — listed in the codec table with '-' status and no implementation, so the feature flags exist but do nothing useful yet. HE-AAC (the codec used in most streaming audio) is also unimplemented natively; you need the fdk-aac FFI adapter, which drags in a C dependency and a licensing headache. Gapless playback is missing for several format/codec combos (MP4/ISO, CAF, MKV), which is a real gap for music players. No encoding or muxing — this is decode-only, so if your pipeline needs to write audio files you're adding a second dependency.