Skip to main content

musefs_format/
lib.rs

1mod bytes;
2mod convert;
3mod error;
4pub mod flac;
5mod input;
6mod layout;
7pub mod mp3;
8pub mod mp4;
9pub mod ogg;
10pub mod probe;
11mod size;
12mod tagmap;
13mod vorbiscomment;
14pub mod wav;
15
16#[cfg(any(test, feature = "fuzzing"))]
17pub mod fuzz_check;
18
19pub use error::{FormatError, Result};
20pub use input::{
21    ArtInput, BinaryTagInput, BlobLen, EmbeddedBinaryTag, EmbeddedPicture, PictureType, TagInput,
22};
23pub use layout::{LayoutError, RegionLayout, Segment};
24pub use ogg::{Codec, OggHeader, OggScan};
25pub use probe::Extent;
26pub use vorbiscomment::is_valid_key as is_valid_vorbis_key;
27
28// tagmap is pure &str→key mapping with no byte parsing and is already exercised
29// indirectly by the per-format fuzz targets (which pass arbitrary tag keys through
30// synthesize_layout), so no dedicated tagmap fuzz target is needed.
31#[cfg(feature = "fuzzing")]
32pub use mp3::build_id3v2_segments;
33#[cfg(feature = "fuzzing")]
34pub use vorbiscomment::parse as parse_vorbis_comment;