Commit graph

1595 commits

Author SHA1 Message Date
Serial
af3b98d441 Benches: Switch to using real-world assets 2023-10-23 12:52:42 -04:00
Serial
776c7dadcb changelog: Update entries with PR link 2023-10-23 12:02:01 -04:00
Serial
e5756758f0 ParseOptions: Add a note about alloc limits being retained 2023-10-23 12:02:01 -04:00
Serial
fc9877a567 Error: Make ErrorKind::TooMuchData's message less confusing 2023-10-23 12:02:01 -04:00
Serial
172e8ff957 Probe: Fix doc test for set_file_type 2023-10-23 12:02:01 -04:00
Serial
6e92de1aa1 Clippy: Allow into_iter_without_iter 2023-10-23 12:02:01 -04:00
Serial
acb613da14 Alloc: Verify allocation sizes using configured value 2023-10-23 12:02:01 -04:00
Serial
c848e54d1f Probe: Support builder pattern for set_file_type() 2023-10-23 12:02:01 -04:00
Serial
ab828fbe15 ParseOptions: Add allocation_limit() 2023-10-23 12:02:01 -04:00
Serial
f08da59e24 alloc: Bump allocation limit to 16MB 2023-10-23 12:02:01 -04:00
Serial
b36e62d98a
FileType: Update primary_tag_type() table 2023-10-23 00:46:10 -04:00
Serial
8a7f91582b Fuzz: Add target for Probe::read 2023-10-22 23:44:21 -04:00
Serial
8c9ec0f178 Fuzz: Read properties in file read targets
No idea why all of the targets had `read_properties(false)`.
2023-10-22 23:32:44 -04:00
Serial
d51a151407 VorbisComments: Check ItemKey::Unknown for spec compliance in Tag conversion 2023-10-17 19:25:16 -04:00
Serial
8edf76e121 VorbisComments: Add Tag conversion docs 2023-10-17 19:15:09 -04:00
Serial
8c3d24410b RIFF: Improve Tag conversion docs 2023-10-17 19:15:09 -04:00
Serial
4635973233 AIFF: Improve Tag conversion docs 2023-10-17 19:15:09 -04:00
Serial
d2e8a91bac ID3v2: Fix missing plural 2023-10-17 19:15:09 -04:00
Serial
657cab6726 ID3v1: Improve Tag conversion docs 2023-10-17 19:15:09 -04:00
Serial
7745c682a8 APE: Add docs for conversion to Tag 2023-10-17 19:15:09 -04:00
Serial
272ba84027 ID3v1: Stop erroring on inputs smaller than 128 bytes 2023-10-17 18:16:51 -04:00
Serial
a01c114dfe MP4: Remove duplicate track/disc methods on Ilst
These came awhile before the `Accessor` methods, and managed to stick around for almost a year and a half after the fact.
2023-10-17 14:31:35 -04:00
Serial
cab578de74 MP4: Add a test for handling invalid atom types in Ilst 2023-10-17 14:12:11 -04:00
Serial
adc3b0ac9c MP4: Use late init in AtomInfo::read 2023-10-17 14:12:11 -04:00
Uwe Klotz
f0953a6e78 mp4: Match on all parse modes 2023-10-17 14:12:11 -04:00
Uwe Klotz
d73fd81e9e mp4: Avoid mutable data 2023-10-17 14:12:11 -04:00
Uwe Klotz
15f3b16d7c mp4: Extract atom identifier check into function 2023-10-17 14:12:11 -04:00
Serial
eff0d0d9e6 MP4: Attempt to detect invalid atom identifiers
This follows the checks of TagLib: <b40b834b1b/taglib/mp4/mp4atom.cpp (L89)>.
2023-10-17 14:12:11 -04:00
Serial
b87afe4ee8
0.16.1 2023-10-15 11:41:17 -04:00
Uwe Klotz
328fc7c35b Clarify dependency of guess_file_type() on ParseOptions 2023-10-03 12:36:50 -04:00
Uwe Klotz
2b814cdc4a mp4: Skip unexpected or empty "data" ilst atoms 2023-10-02 09:03:36 -04:00
Uwe Klotz
be0f24b9e6 Fix typo 2023-10-02 08:52:10 -04:00
Serial
5d6160f80d 0.16.0 2023-10-01 11:23:17 -04:00
Serial
aca058b7fa misc: Update dependencies 2023-10-01 11:23:17 -04:00
Serial
aa50837ecc Tests: Fix old Id3v2Tag tests 2023-10-01 11:00:05 -04:00
Serial
9554295e51 ID3v2: Add Id3v2Tag::get_texts 2023-10-01 11:00:05 -04:00
Serial
be6eb07c30 ID3v2: Stop using &str for frame IDs 2023-10-01 11:00:05 -04:00
Serial
4767f5da08 ID3v2: Don't expect text frames to be terminated 2023-10-01 10:19:18 -04:00
Serial
d4916c4bbc Clippy: Allow some new lints 2023-09-30 13:50:05 -04:00
Serial
aea857cec2 Tests/Fuzz: Fix arguments to Picture::from_flac_bytes 2023-09-30 13:50:05 -04:00
Serial
9ae927ceb0 FLAC: Don't error by default on invalid picture types
FLAC picture blocks have `u32::MAX` possible picture types, but only 20 are actually defined. In the [spec] it states, "Others are reserved and should not be used."

We used to only allow a picture type of up to 255 to be in sync with ID3v2's APIC, where this model comes from. Now any picture type can be specified and it will just be clamped to 255, so long as `ParsingMode::Strict` is not being used.
2023-09-30 13:50:05 -04:00
Serial
15d9ca812c OGG: Support reading COVERART fields 2023-09-30 13:50:05 -04:00
dependabot[bot]
51517d3bd1 build(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 14:25:56 -04:00
Serial
6a3f912db3 misc: Create FUNDING.yml 2023-08-20 10:05:38 -04:00
Serial
bdfe1a8cfc ID3v2: Move all header related items to v2::header module 2023-07-30 21:10:42 -04:00
Serial
553d16fa88 APE: Fix property reading on old stream versions
This also makes property reading take `ParsingMode` into account.
2023-07-28 13:14:56 -04:00
Serial
6cab8aa088 WavPack: Stop overwriting custom sample rates
When a custom sample rate (or multiplier) was encountered, it would accidentally be overwritten with 0, causing incorrect duration and bitrate values.

This was due to us reading the metadata sub blocks first (when necessary) and then immediately overwriting the sample rate with the value from the block header (which is 0 in the presence of a custom sample rate).
2023-07-27 16:45:04 -04:00
Serial
5eb032a3d4 FLAC: Do not error on multiple VorbisComments when not strict
This is not allowed [by spec](https://xiph.org/flac/format.html#def_VORBIS_COMMENT), but is still possible to encounter in the wild. Now we will just tag whichever tag happens to be latest in the stream and use it, they **will not be merged** like other formats (such as ID3v2 in MP3) where multiple tags are valid.
2023-07-27 05:18:42 -04:00
Serial
3755fbf813 MP4: Fix integer shrinking
This feature wasn't finished, unsure how it wasn't caught sooner. In its current state it'll panic on most numbers. Guess we just got lucky.
2023-07-27 05:18:16 -04:00
Serial
e622a671a7 MP4: Merge existing atoms in Ilst::insert
Now, when inserting an atom that already exists in a tag, the data is taken from the provided atom and merged with the existing value in the tag. This should ensure that the value that already exists in the tag will remain the dominant one.
2023-07-25 17:11:36 -04:00