Commit graph

877 commits

Author SHA1 Message Date
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
Serial
dec830307c MP4: Fix parsing of plID atoms with incorrect codes
closes #201
2023-05-28 17:25:07 -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
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
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
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
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
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
Serial
d7dffcf0d2 item: Switch ItemKey variants to UpperCamelCase 2023-04-21 20:35:21 -04:00
Serial
48df6ccae4 mpeg: Switch MPEGFile/MPEGProperties to UpperCamelCase 2023-04-21 20:35:21 -04:00
Serial
ce8c26f2b8 tag: Switch TagType variants to UpperCamelCase 2023-04-21 20:35:21 -04:00
Serial
8920a39f93 file: Switch FileType variants to UpperCamelCase 2023-04-21 20:35:21 -04:00
Serial
55ba9dccc1 ID3v2: Switch error type names to UpperCamelCase 2023-04-21 20:35:21 -04:00
Serial
738784b1e9 ID3v2: Support audio-text accessibility (ATXT) frame 2023-04-16 13:16:12 -04:00
Serial
a1b7fb7e16
TagExt: Add a default impl for save_to_path 2023-04-15 20:27:59 -04:00
Serial
acb7b2482c ID3v2: Update FrameValue variant names in writing verification error 2023-04-14 02:44:21 -04:00
Serial
4a327847dc ID3v2: Consistently name abbreviated FrameValue variants 2023-04-14 02:44:21 -04:00
Serial
04a77cc0fa fmt 2023-04-14 02:44:21 -04:00
Serial
91470739da ID3v2: Make Frame::new()'s value generic 2023-04-14 02:44:21 -04:00
Serial
4d5932f3d2 ID3v2: Deduplicate CommentFrame/UnsynchronizedTextFrame logic 2023-04-14 02:44:21 -04:00
Serial
79a8259021 ID3v2: Introduce UnsynchronizedTextFrame 2023-04-14 02:44:21 -04:00
Serial
ff1509a38c ID3v2: Introduce CommentFrame 2023-04-14 02:44:21 -04:00
Serial
4db2559314 ID3v2: Introduce UrlLinkFrame 2023-04-14 02:44:21 -04:00
Serial
f7f640b7eb ID3v2: Introduce TextInformationFrame 2023-04-14 02:44:21 -04:00
Serial
2dc7569017 ID3v2: Create From impls for FrameValue 2023-04-14 02:44:21 -04:00
Serial
f8972f9122 ID3v2: Move Extended{Text,Url}Frame parse functions to structs 2023-04-14 02:44:21 -04:00
Serial
07b54db648 ID3v2: Make item method name and order consistent 2023-04-14 02:44:21 -04:00
Serial
452df13fff ID3v2: Introduce AttachedPictureFrame 2023-04-14 02:44:21 -04:00
Serial
d0b9a50d03 ID3v2: Introduce ExtendedUrlFrame 2023-04-14 02:44:21 -04:00
Serial
a126dfa196 ID3v2: Rename EncodedTextFrame to ExtendedTextFrame 2023-04-14 02:44:21 -04:00
Serial
8f67723e37 ID3v2: Move item exports to v2/items/mod.rs 2023-04-14 02:44:21 -04:00
Serial
4d5d5540df ID3v2: Stop using a String for SyncTextInformation::language 2023-04-14 02:44:21 -04:00
Serial
46127a0912 ID3v2: Allow creation of more synchsafe integer types 2023-04-12 22:39:11 -04:00