Commit graph

75 commits

Author SHA1 Message Date
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
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
425fb77816 probe: Support ParseOptions::max_junk_bytes in Probe::guess_file_type 2023-07-08 12:57:40 -04:00
Frieder Hannenheim
f3841a37eb Cargo fix & format 2023-07-04 20:52:10 -04:00
Frieder Hannenheim
f191df4e53 Fix test 2023-07-04 20:52:10 -04:00
Frieder Hannenheim
d4a67d0235 Add test (not working yet) 2023-07-04 20:52:10 -04:00
Serial
045874829f Tests: Add missing Musepack SV5 test 2023-06-06 10:34:37 -04:00
Serial
62190b8f9f musepack: Support SV4-SV6 property reading 2023-06-06 10:34:37 -04:00
Serial
d89250eef7 musepack: Support SV7 property reading 2023-06-06 10:34:37 -04:00
Serial
8c854d54a1 musepack: Add SV8 properties test 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
cb01e82d07 ID3v2: Rename ID3v2Tag to Id3v2Tag 2023-04-28 02:17:19 -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
Uwe Klotz
e3fa808d96 wav: Fix issue #174 and add regression test 2023-04-06 21:20:44 -04:00
Serial
18933087d5 Tags: Make method names consistent 2023-03-18 13:48:21 -04:00
Serial
24b2d7d24d Tests: Fix incorrect atom size in non_full_meta_atom asset 2023-03-13 20:14:49 -04:00
Keita Kita
94f8aac840 ID3v2: Change default number from 1 to 0 for track and disk 2023-02-28 08:43:56 -05:00
Keita Kita
32ddd3b65e ID3v2: Merge number pair of track and disk while saving tag 2023-02-28 08:43:56 -05:00
Uwe Klotz
b07adbed33 Use Seek::rewind() in tests 2023-02-02 16:38:28 -05:00
Serial
16a2419351 ID3v2: Support duplicate tags
Previously, if we were reading a file and encountered an ID3v2 tag after having already read one, we would overwrite the last one, losing all of its information. Now we preserve all of the information, overwriting frames as necessary.
2022-12-27 15:24:32 -05:00
Serial
4c5538bba0 Accessor: Make text getters return Cow<str> to allow for editing
This is an unfortunate compromise that needed to be made to make it possible to change the null separators in ID3v2.4 to slashes prior to returning the value.
2022-12-12 14:00:26 -05:00
Serial
d971615952 ID3v2: Properly handle solidus character (U+002F) in text frames
V2 and V3 allow for the separation of multiple values with the solidus (/) character, while in V4 the separator is null (0). This was not accounted for previously, and would break valid V4 strings ("Foo / Bar" would be split into "Foo " and " Bar").

closes #82
2022-12-12 14:00:26 -05:00
Serial
7573f60a0c TaggedFile: Split methods out into TaggedFileExt trait 2022-12-10 12:18:34 -05:00
Alex
02f1314005
Add support for AAC (#71) 2022-10-14 09:06:27 -04:00
Serial
afe78368c2
iff: Separate wav and aiff into their own modules 2022-10-14 08:08:12 -04:00
Serial
2ff86e6e00
ID3v2: Prevent read only tag bypass with ID3v2Tag::write_to 2022-10-13 19:37:59 -04:00
Alex
ba6ef4f400
Probe: Add minimal ParseOptions (#70) 2022-09-24 02:34:22 -04:00
Serial
1b546700d5
MPEG: Change remaining references to mp3 to mpeg 2022-08-10 14:14:21 -04:00
Serial
0805e6683b
MP3: Rename MP3File to MPEGFile 2022-07-24 16:28:28 -04:00
Serial
790e175b30
TaggedFile: Stop taking references to TagType 2022-07-24 16:14:42 -04:00
Alex
f48014fda8
Implement custom file resolvers (#40) 2022-07-24 16:08:46 -04:00
Serial
69436e5c0a
Misc: Add tests and extension detection for MP1 and MP2 2022-07-18 16:04:21 -04:00
Serial
d298199a07
Vorbis Comments: Add zero-sized test 2022-07-11 17:04:40 -04:00
Serial
fa7920638a
Test: Verify we can read zero-sized files with properties=false 2022-07-05 22:40:15 -04:00
Serial
e245155f99
MP4: Add test for empty ilst 2022-07-05 22:38:55 -04:00
Serial
e1c10bee66
MP4: Support property reading for files with FLAC audio 2022-07-05 13:14:09 -04:00
Serial
f4ed05ed55
AIFF: Add zero-sized text chunks test 2022-06-29 22:56:24 -04:00
Serial
4420f92a9f
Tag: Properly capitalize TagType variants 2022-06-07 20:00:05 -04:00
Serial
508185c48c
WavPack: Support writing tags 2022-05-30 08:45:08 -04:00
Serial
74779369cf
WavPack: Start basic implementation 2022-05-29 22:14:40 -04:00
Serial
3c271236b2
MP3: Improve reverse frame sync search 2022-05-15 09:20:44 -04:00
Serial
62c8a246df
Fix CI 2022-05-08 10:57:22 -04:00
Serial
1dcb1d6f7a
TODOs 2022-05-07 12:15:52 -04:00
Serial
f0c2252eec
Add tests for zero-size files 2022-05-07 12:13:35 -04:00
Serial
89ebe2ed17
Fix panic reading MP3 files with no MPEG frames 2022-04-24 16:56:13 -04:00
Serial
87315321ef
Cleanup 2022-04-13 13:28:48 -04:00
Serial
e2d0978ce1
Allow removing ID3v2 tags from FLAC and APE 2022-03-27 14:12:32 -04:00
Serial
301d457cd3
Give FLAC its own module 2022-03-18 15:06:42 -04:00