Commit graph

1502 commits

Author SHA1 Message Date
Serial
6888c17bad APE: Stop skipping the preamble in tests 2023-06-06 10:34:37 -04:00
Serial
8c854d54a1 musepack: Add SV8 properties test 2023-06-06 10:34:37 -04:00
Serial
314474e77d musepack: Fix variable length size reading 2023-06-06 10:34:37 -04:00
Serial
b1c9371a54 musepack: Stub implement SV7 and SV4-6 properties 2023-06-06 10:34:37 -04:00
Serial
fc1186bc5a musepack: Support MPC stream version 8 2023-06-06 10:34:37 -04:00
Serial
888e82bfaa file: Cleanup FileType::supports_tag_type 2023-06-06 10:34:37 -04:00
Serial
fe03f7ec41 APE: Deduplicate APE footer tag reading 2023-06-06 10:34:37 -04:00
Serial
3e72761970
ID3v2: Remove unused id3::util::synchsafe::unsynch_content 2023-06-04 23:21:22 -04:00
Serial
ea0e16ce7f changelog: Add entry for allocation limit change 2023-06-04 13:07:30 -04:00
Serial
1f8c06e96e misc: Add allocation limit to try_vec!
This adds an arbitrary allocation limit of 8MB for any one item, which should be more than enough in any case.

This was changed to stop the fuzz tests from failing with OOM errors.
2023-06-04 13:07:30 -04:00
Serial
6e555d1cb6 changelog: Add entry for ParsingMode::BestAttempt 2023-06-03 13:36:02 -04:00
Serial
e54a6135f9 ID3v2: Add test for #204
A UFID frame without an owner is invalid, and will fail in `ParsingMode::Strict`. In `ParsingMode::BestAttempt`, however, we will just replace it with an empty string.
2023-06-03 13:36:02 -04:00
Serial
ed68ca8851 OGG: Make use of ParsingMode in VorbisComments parsing
This introduces 3 new possibilities:

* Failure in `Strict` when encountering a mixed-encoding vendor string (previously continued)
* Ignoring failed picture reading in `Relaxed` (previously errored)
* Failure in `Strict` when an invalid key is encountered (previously skipped)
2023-06-03 13:36:02 -04:00
Serial
6b204ce397 probe: Document example behavior for ParsingMode variants 2023-06-03 13:36:02 -04:00
Serial
bf80fec0dd probe: Document how to use ParsingMode 2023-06-03 13:36:02 -04:00
Serial
f8267641a9 ID3v2: Don't require a UFID owner in ParsingMode::BestAttempt 2023-06-03 13:36:02 -04:00
Serial
21aa7d929d ID3v2: Pass parsing mode to frame parsing 2023-06-03 13:36:02 -04:00
Serial
464be3cb14 probe: Add new default ParsingMode variant
The new `BestAttempt` variant will be less eager to error than the previous default, `ParsingMode::Strict`. This comes with the consequence that the input may not be *entirely* correct.
2023-06-03 13:36:02 -04:00
dependabot[bot]
2cf46f957f Update criterion requirement from 0.4.0 to 0.5.1
Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version.
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.4.0...0.5.1)

---
updated-dependencies:
- dependency-name: criterion
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-02 09:52:29 -04:00
Serial
e8bcb7d8c0 changelog: Add entry for MP4 plID fix 2023-05-28 17:25:07 -04:00
Serial
dec830307c MP4: Fix parsing of plID atoms with incorrect codes
closes #201
2023-05-28 17:25:07 -04:00
Serial
b324bfa478
0.13.0 2023-05-08 11:44:53 -04:00
Serial
57fd5f42ea
ID3v2: Fix build without id3v2_compression_support 2023-05-08 11:41:07 -04:00
Serial
a60aed33e0 Clippy: Fix default_constructed_unit_structs 2023-05-08 11:31:28 -04:00
Serial
a845e38b60 lofty_attr: 0.7.0 2023-05-08 11:31:28 -04:00
Serial
77a05f337f lofty_attr: Update to syn 2 2023-05-08 11:31:28 -04:00
Serial
fcffc19cae misc: Update deps 2023-05-08 11:31:28 -04:00
Serial
0cbe13cb3f ID3v2: Correct equality/hash impl for AudioTextFrame
According to https://mutagen-specs.readthedocs.io/en/latest/id3/id3v2-accessibility-1.0.html#proposed-audio-text-frame:

"More than one audio-text frame may be present in a tag but each must carry a unique string in the Equivalent text field."
2023-04-28 02:33:38 -04:00
Serial
51df3814c1
ID3v2: Fix POPM frame write verification 2023-04-28 02:32:46 -04:00
Serial
21e3c5d402 changelog: Update for recent changes 2023-04-28 02:26:53 -04:00
Serial
e6f0c0bcb0 ID3v2: Flatten GeneralEncapsulatedObject 2023-04-28 02:26:53 -04:00
Serial
11309bc49e ID3v2: Flatten SynchronizedText 2023-04-28 02:26:53 -04:00
Serial
524cb45e97 lofty_attr: Update reference to ID3v2TagFlags 2023-04-28 02:17:19 -04:00
Serial
afe97edd96 changelog: Add entries for ID3 renames 2023-04-28 02:17:19 -04:00
Serial
b1dd712cc3 ID3v1: Rename ID3v1Tag to Id3v1Tag 2023-04-28 02:17:19 -04:00
Serial
8d696e8704 ID3v2: Convert remaining types to UpperCamelCase 2023-04-28 02:17:19 -04:00
Serial
cb01e82d07 ID3v2: Rename ID3v2Tag to Id3v2Tag 2023-04-28 02:17:19 -04:00
Serial
af490d0caf
changelog: Update for recent changes 2023-04-23 23:56:52 -04:00
Serial
a6b7823d73 ID3v2: Stop eagerly allocating frame content 2023-04-23 19:21:08 -04:00
Serial
d4943b4108 ID3v2: Remove unnecessary allocation of ID3v2Tag content 2023-04-23 19:21:08 -04:00
Serial
55bcd467eb ID3v2: Validate size before and after reading additional flag data 2023-04-23 15:40:41 -04:00
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
Serial
d4b10fcc06
fuzz: Fix type names in {aacfile,mpegfile}_read_from targets 2023-04-23 14:40:21 -04:00
Serial
3aa2bf1740 ID3v2: Properly handle compressed frames 2023-04-22 14:12:42 -04:00
Serial
f136610045
ID3v2: Add test for UTF-16 SYLT en/decoding 2023-04-21 22:51:59 -04:00
Serial
726fbe4d58
util: Return bytes read from decode_text 2023-04-21 22:51:29 -04:00
Serial
c772d65dca
ID3v2: Fix parsing of SYLT frames 2023-04-21 21:54:33 -04:00
Serial
0cba551168
ID3v2: Add parse methods to CommentFrame and UnsynchronizedTextFrame 2023-04-21 21:21:14 -04:00
Serial
88caec39a4 ID3v2: Fix SynchronizedText doc link 2023-04-21 20:35:21 -04:00
Serial
b5c71e8fde ID3v2: Switch FrameID to UpperCamelCase 2023-04-21 20:35:21 -04:00