Commit graph

1662 commits

Author SHA1 Message Date
Serial
3541fd73f3 WAV: Fix panic on invalid bits_per_sample 2024-07-23 16:07:43 -04:00
Serial
15c1aed9bf MP4: Allow invalid atom sizes with ParsingMode::Relaxed 2024-07-22 12:19:32 -04:00
Serial
9b4cf83f2a ID3v2.3: Fix some writing issues
* TDAT is DDMM, was previously written as MMDD
* TCON conversion will properly handle refinements
* TIPL and TMCL are now merged into IPLS
2024-07-16 15:17:20 -04:00
Serial
38002d18b1
ID3v2: Stop writing synchsafe integers for ID3v2.3 2024-07-15 13:14:17 -04:00
Serial
5a3a8ba8c6 Vorbis: Check comment counts before allocation 2024-07-14 15:10:36 -04:00
Serial
2a7c061e74 WAV: Fix panic on improperly sized INFO LISTs 2024-07-14 15:10:36 -04:00
Serial
dd9aa76a54 MP4: Fix panic with improperly sized freeform idents 2024-07-14 15:10:36 -04:00
Serial
e9ec05babf AIFF: Fix parsing of invalid f80 sample rates 2024-07-14 15:10:36 -04:00
Serial
37fdc657a3 MP4: Fix division by zero panic 2024-07-14 15:10:36 -04:00
Serial
61adb2a28f WAV: Fix multiply with overflow panic 2024-07-14 15:10:36 -04:00
Serial
60bd996e72 Vorbis: Fix multiply with overflow panic 2024-07-14 15:10:36 -04:00
Serial
1e8dbf4295 FLAC: Fix subtract with overflow panic 2024-07-14 15:10:36 -04:00
Serial
3d43b5882d
changelog: Update for recent changes 2024-07-04 12:30:16 -04:00
Uwe Klotz
4fc6b96f40 Add comments 2024-07-04 12:24:59 -04:00
Uwe Klotz
a523db78d1 Add Tag::take_filter() 2024-07-04 12:24:59 -04:00
Serial
fcb5446922 ID3v2: Ignore empty timestamp frames
I had a file with an empty timestamp frame that errored with `ParsingMode::BestAttempt`. Now that's only an error case with `ParsingMode::Strict`.
2024-07-04 12:17:30 -04:00
Serial
d4e58ea15d changelog: Add entry for ID3v2.3 write support 2024-07-04 11:53:50 -04:00
Serial
3fd6799528 Clippy: Allow struct_excessive_bools 2024-07-04 11:53:50 -04:00
Serial
a6b56c620d ID3v2: Support writing ID3v2.3 tags
closes #62
2024-07-04 11:53:50 -04:00
Serial
ae94af1a88 config: Add ParseOptions::implicit_conversions 2024-07-04 11:53:50 -04:00
Serial
40e11ca729 FLAC: Allow skipping picture blocks 2024-07-04 11:39:52 -04:00
Serial
13337fc7fc changelog: Add entry for ParseOptions::read_cover_art 2024-07-04 11:39:52 -04:00
Serial
6e821b7e3e ParseOptions: Add read_cover_art 2024-07-04 11:39:52 -04:00
Serial
89dd85c3dc ParseOptions: Add ParseOptions::read_tags
This makes it possible to use Lofty exclusively for its property reading, which many projects do at this point.

closes #251
2024-07-04 11:18:25 -04:00
Serial
b2c310d709
0.20.1 2024-07-02 16:09:40 -04:00
Serial
b7f86d2844 changelog: Add entry for MPEG duration fix 2024-07-02 16:07:31 -04:00
Serial
b7adbd19ef MPEG: Improve duration calculation
For files with a VBR header:
Thanks to @naglis for correcting the length calculation. (issue: #412)

For files without a VBR header:
`rev_search_for_frame_header` would get tripped up on files with trailing data
that looked like a frame sync (ex. 0xFFFF). This would also result in durations that are
slightly off.

For now, VBR streams are still assumed to be CBR. I have not seen a file this does not
work for yet. Eventually it would be nice to have more accurate calculation, but that will require we read the *entire* file.
2024-07-02 16:07:31 -04:00
Serial
dde24d5b6d Clippy: Fix doc_lazy_continuation 2024-06-11 17:38:17 -04:00
Serial
89adc98b8e
Clippy: Fix lint_groups_priority 2024-06-06 13:27:05 -04:00
Serial
cd86aaad9c
0.20.0 2024-06-06 13:20:32 -04:00
Serial
657add15d8
lofty_attr: 0.11.0 2024-06-06 13:17:41 -04:00
dependabot[bot]
943a7e1d59 build(deps): update iai-callgrind requirement from 0.10.2 to 0.11.0
Updates the requirements on [iai-callgrind](https://github.com/iai-callgrind/iai-callgrind) to permit the latest version.
- [Release notes](https://github.com/iai-callgrind/iai-callgrind/releases)
- [Changelog](https://github.com/iai-callgrind/iai-callgrind/blob/main/CHANGELOG.md)
- [Commits](https://github.com/iai-callgrind/iai-callgrind/compare/v0.10.2...v0.11.0)

---
updated-dependencies:
- dependency-name: iai-callgrind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 13:15:46 -04:00
Serial
e5bda0cfca changelog: Add entry for BoundTaggedFile::into_inner 2024-06-06 11:20:19 -04:00
Serial
b57992b128 Tests: Refactor BoundTaggedFile::into_inner test 2024-06-06 11:20:19 -04:00
bruh
fee3c1fb0c [feat] add into_inner for BoundTaggedFile 2024-06-06 11:20:19 -04:00
Serial
739491f238 MP4: Dont discard tags on multiple udta 2024-06-06 11:19:33 -04:00
Serial
d2d4b81fe0 Musepack: Improve audio properties 2024-05-09 13:14:24 -04:00
Serial
da91e43d02
WAV: Fix accidental negation 2024-05-07 15:19:06 -04:00
Serial
f340ebf39b WAV: Improve audio bitrate calculation 2024-05-07 15:10:39 -04:00
Serial
d067933be3 MP4: Improve audio bitrate calculation 2024-05-06 13:21:10 -04:00
Serial
4d1e7be87e examples: Add missing entries to Cargo.toml 2024-05-06 13:17:23 -04:00
Serial
c2e47d9dcb
benches: Update for recent changes 2024-05-04 17:20:42 -04:00
Serial
5b40a2f3a4 Tests: Fix Clippy lints 2024-05-04 16:46:09 -04:00
Serial
621ab57fe1
README: Add sponsors badge 2024-05-04 16:33:22 -04:00
Serial
b45f456232 changelog: Add entry for MPEG duration fix 2024-05-04 16:16:47 -04:00
Serial
24da5bac31 MPEG: Improve duration estimation 2024-05-04 16:16:47 -04:00
Serial
4eae6e12a7
ID3v2: Remove flags from PrivateFrame constructor 2024-05-04 12:34:36 -04:00
Serial
32fb134e67 ID3v2: Disallow 4 character TXXX descriptions as ItemKey 2024-05-03 12:17:29 -04:00
Serial
833e34e03a ID3v2: Cleanup SplitTag impl 2024-05-03 11:37:52 -04:00
Serial
0332d65441 fmt: Fix whitespace to help rustfmt 2024-05-03 10:55:43 -04:00