Uwe Klotz
738d47fd4f
Reduce memory allocations for id3v2::FrameID
2023-01-07 12:56:50 -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
b2da52196a
ID3v2: Export TextEncoding
in crate root
2022-10-14 08:01:00 -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
f3a7e4d5f1
Vorbis Comments: Don't rely on the case of METADATA_BLOCK_PICTURE
...
closes : #60
2022-08-03 08:33:39 -04:00
Serial
0805e6683b
MP3: Rename MP3File
to MPEGFile
2022-07-24 16:28:28 -04:00
Serial
da45191187
ID3v2: Change LanguageFrame.lang
's type to [u8; 3]
2022-07-24 16:21:18 -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
2089e3deab
WavPack: Add fuzz tests (already fixed)
2022-07-12 21:23:37 -04:00
Serial
7f71053e52
OGG: Add length validation to Vorbis Comments reading
2022-07-12 21:17:18 -04:00
Serial
19cef0400e
FLAC: Return early when encountering invalid zero-sized blocks
2022-07-12 21:01:12 -04:00
Serial
c833e30103
APE: Stop trusting the lengths of APE tag items
2022-07-12 14:19:02 -04:00
Serial
542f7dabc7
MP4: Better handle invalid atom sizes
2022-07-11 23:01:17 -04:00
Serial
d298199a07
Vorbis Comments: Add zero-sized test
2022-07-11 17:04:40 -04:00
Serial
2f62ff9b60
PictureInformation: Fix potential overflowing addition in from_png
2022-07-11 16:57:03 -04:00
Serial
f99a587391
PictureInformation: Fix potential overflowing subtraction in from_jpeg
2022-07-11 16:52:52 -04:00
Serial
1f432b9b36
Tests: Add TODOs for other fuzz tests
2022-07-10 18:35:45 -04:00
Serial
10b8462e7a
WAV: Stop relying on file's provided size (Fix OOM)
2022-07-10 18:30:12 -04:00
Serial
8a70a77387
AIFF: Stop relying on file's provided size (Fix OOM)
2022-07-10 18:16:31 -04:00
Serial
8ee268b188
Tests: Add empty fuzz tests
2022-07-10 17:15:31 -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
f809fb2635
Clippy: fix explicit_auto_deref
in tests
2022-07-03 17:46:18 -04:00
Serial
f4ed05ed55
AIFF: Add zero-sized text chunks test
2022-06-29 22:56:24 -04:00
Serial
e3132d4123
ID3v2: Properly capitalize ID3v2Tag
2022-06-26 11:44:27 -04:00
Serial
bb74a9fdf4
ID3v2: Properly capitalize ID3v2Version
2022-06-26 11:39:12 -04:00
Serial
efff0eb306
ID3v2: Support decoding UTF-16 T/WXXX frames with missing content BOM
...
closes #53
2022-06-25 21:21:47 -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
b5478d1f1d
MP4: Support atoms with multiple values
2022-05-13 17:06:55 -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
c3c8e01bf4
Support the ID3v2 POPM frame
2022-03-20 12:05:38 -04:00
Serial
301d457cd3
Give FLAC its own module
2022-03-18 15:06:42 -04:00
Serial
c6d1ef505d
Support FLAC files with an ID3v2 tag
2022-03-16 16:59:55 -04:00
Serial
768fc8d875
Support the ALS codec for MP4; Fix MP4 property reading
2022-03-08 23:08:04 -05:00
Serial
d86e007fe7
Handle non-full meta
atoms
2022-03-06 13:17:16 -05:00
Serial
0920cb2cda
Add a test for issue #37
2022-03-05 11:55:41 -05:00
Serial
be4e2a9866
Utilize free
atoms when writing; Fix meta
atom writing
2022-02-20 18:00:00 -05:00
Serial
e01d875e05
Remove unwraps; Stop taking references to Copy
types
2022-02-19 10:14:14 -05:00
Serial
e66ab4587d
Finalize Accessor
and TagExt
documentation
2022-02-19 09:39:09 -05:00
Serial
4c0b7c2273
Add rtng
atom support
2022-02-18 08:50:39 -05:00
Serial
19b46c6a96
Add a special case for plID
atom
2022-02-17 18:53:51 -05:00
Serial
6bb0427c84
Make all property structs non-exhaustive
2022-02-14 21:19:05 -05:00
Serial
d73173fb84
Add extra check to tag_reader
example; Reorganize test assets
2022-02-13 13:15:27 -05:00
Serial
a179cfe736
Start work on TagIO
trait
...
This is the start of making Lofty more general purpose, allowing for the creation of custom tags.
This also makes `TagType::remove_from*` fallible, which makes much more sense.
2022-02-02 22:10:04 -05:00
Serial
c1725de93d
Add Speex
support
2022-01-31 18:19:11 -05:00
Alex
e0ea0eb67a
Merge pull request #33 from sagudev/wave-depth
...
Fix `WavProperties` reading
2022-01-24 13:57:55 -05:00
Serial
7301b1c9b0
Rename M4A test assets
2022-01-24 11:18:49 -05:00
Serial
d9174697d3
Fix MP4 audio bitrate
2022-01-24 11:05:12 -05:00
sagudev
3d26e34514
fmt
2022-01-24 16:38:18 +01:00
sagu
6325665ab2
Merge branch 'main' into wave-depth
2022-01-24 16:35:24 +01:00
sagudev
bd896287b6
bit-depth for ALAC and getter for wav
2022-01-24 06:35:15 +01:00
sagudev
e0f075a912
Add testing against hound
2022-01-23 13:37:13 +01:00
sagudev
c8c84e6660
hound testing
2022-01-23 12:32:51 +01:00
sagudev
23cf587940
bit_depth test
2022-01-23 07:40:26 +01:00
sagudev
29378f53a5
bit_depth prototype
2022-01-22 19:54:42 +01:00
localthomas
3783bfbbb8
renamed test asset file
2022-01-21 17:21:47 +01:00
localthomas
47a28402db
added frame sync search for MP3 reading
...
The first MP3 frame behind metadata blocks is found by searching for frame sync bits.
This skips junk bytes between any metadata blocks and the first MP3 frame.
2022-01-21 14:52:32 +01:00
Serial
f42dfb50bf
Add ItemKey
mappings for new AIFF chunks
2022-01-08 07:42:28 -05:00
Serial
5389efa386
Add real world ID3v2 tests for all versions
2022-01-06 21:06:02 -05:00
Serial
8bfca44fb1
Add GeneralEncapsulatedObject
tests
2022-01-06 18:15:47 -05:00
Serial
e640eb0d42
Add SynchronizedText
tests
2022-01-06 18:00:33 -05:00
Serial
a49a655f55
Add unstable rustfmt options
2022-01-05 13:26:56 -05:00
Serial
94e5ed635f
Add Tag::dump_to
2022-01-05 12:50:54 -05:00
Serial
76e788243f
Read AIFF COMT
chunks
2022-01-04 15:03:24 -05:00
Serial
a5039e4198
Read AIFF ANNO
chunks
2022-01-03 21:15:48 -05:00
Serial
d7872c671e
Allow multi-item insertion for Tag
, add Tag::take
2022-01-03 21:13:51 -05:00
Serial
a8e0edc16d
Fix OOM in Picture::from_flac_bytes
2022-01-03 08:48:39 -05:00
Serial
612a8b062e
Preserve track/disc numbers when converting Ilst
2022-01-02 17:12:16 -05:00
Serial
d312f48406
Fix Tag
-> Id3v2Tag
conversion
2021-12-30 23:20:08 -05:00
Serial
c29b0012ed
Fix METADATA_BLOCK_PICTURE
parsing/writing
2021-12-22 17:21:15 -05:00
Serial
a7d9deaa14
Make property reading optional
2021-12-21 20:20:24 -05:00
Serial
ca0ee7d6b8
Cleanup
2021-12-10 18:43:34 -05:00
Serial
379042cd10
More work on docs
2021-12-06 20:04:22 -05:00
Serial
45fd0c7ed9
Start documentation
2021-12-05 18:05:14 -05:00
Serial
733710f8ca
Overhaul Probe
2021-12-05 17:02:22 -05:00
Serial
afdfc09873
Reorganize file tests
2021-12-01 21:00:12 -05:00
Serial
c72857c3d7
Add tag conversion tests
2021-11-28 12:55:11 -05:00
Serial
5638326ff2
Add tests for reading individual tag formats
2021-11-27 13:28:40 -05:00
Serial
60e1579bb2
Add overall bitrate, create file property tests
2021-11-26 15:17:02 -05:00
Serial
c0d130512b
Remove references to pictures
module
2021-11-24 17:09:12 -05:00
Serial
fe6de2d531
Add tests for ID3v2.2 pictures
2021-11-23 20:08:11 -05:00
Serial
39021e9ba1
Add missing test assets
2021-11-23 19:32:36 -05:00