No description
Find a file
Serial cf2488d5d5 MPEG: Fix subtraction by zero panic regression
Caught by `mpegfile_read_from` fuzz target, in the event that the extended header has a size >= the total tag size.

The regression was introduced in 080742d392.
2023-04-23 15:15:24 -04:00
.github GitHub CI: Add dependabot checks for GitHub actions 2023-02-28 08:21:36 -05:00
benches Add support for AAC (#71) 2022-10-14 09:06:27 -04:00
examples tag: Switch TagType variants to UpperCamelCase 2023-04-21 20:35:21 -04:00
fuzz fuzz: Fix type names in {aacfile,mpegfile}_read_from targets 2023-04-23 14:40:21 -04:00
lofty_attr tag: Switch TagType variants to UpperCamelCase 2023-04-21 20:35:21 -04:00
ogg_pager ogg_pager: Fix paginate_large test 2023-02-24 06:14:44 -05:00
src MPEG: Fix subtraction by zero panic regression 2023-04-23 15:15:24 -04:00
tests MPEG: Fix subtraction by zero panic regression 2023-04-23 15:15:24 -04:00
.editorconfig Misc: Add editorconfig 2022-09-14 21:15:23 -04:00
.gitignore gitignore: Support symbolic link for target directory 2023-01-04 13:12:25 -05:00
Cargo.toml file: Switch FileType variants to UpperCamelCase 2023-04-21 20:35:21 -04:00
CHANGELOG.md changelog: Document removal of ID3v2ErrorKind::Other 2023-04-10 17:30:43 -04:00
LICENSE-APACHE Change license 2021-04-03 14:56:29 -04:00
LICENSE-MIT Change license 2021-04-03 14:56:29 -04:00
README.md README: Update workflow status badge 2022-12-15 22:15:32 -05:00
rustfmt.toml Cleanup 2022-02-12 02:52:43 -05:00
SUPPORTED_FORMATS.md Add support for AAC (#71) 2022-10-14 09:06:27 -04:00

Lofty

GitHub Workflow Status Downloads Version Documentation

Parse, convert, and write metadata to various audio formats.

⚠️ LOOKING FOR HELP WITH DOCUMENTATION ⚠️

I'm looking for help with the refinement of the docs. Any contribution, whether it be typos, grammar, punctuation, or missing examples is highly appreciated!

Supported Formats

See here

Examples

To try them out, run:

cargo run --example tag_reader /path/to/file
cargo run --example tag_stripper /path/to/file
cargo run --example tag_writer <options> /path/to/file
cargo run --example custom_resolver

Documentation

Available here

Benchmarking

There are benchmarks available here.

These benchmarks make use of criterion, and due to its size it cannot be a normal dev-dependency. To run the benchmarks do:

RUSTFLAGS="--cfg bench" cargo bench

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.