Serial
7571d968e9
Timestamp: Allow short-circuiting on partially invalid inputs
2024-09-15 14:29:13 -04:00
Serial
6ab66ad75a
MP4: Cleanup properties
2024-09-14 17:05:53 -04:00
Serial
f1fe219bed
MP4: Rename nested_atom
to find_child_atom
2024-09-14 17:05:53 -04:00
Serial
3afe6d251a
MP4: Document AtomReader
2024-09-14 17:05:53 -04:00
Serial
ef532557a7
MP4: Rename skip_unneeded
to skip_atom
2024-09-14 17:05:53 -04:00
Serial
9463c48058
MP4: Check for unexpected atoms sooner
2024-09-14 17:05:53 -04:00
Serial
5688cdd9f0
MP4: Update docs
2024-09-14 17:05:53 -04:00
Serial
f87fa0a3f5
Ilst: Create Ilst::is_*
methods for flag atoms
2024-09-14 17:05:53 -04:00
Serial
9eb35ae1b9
MP4: Create DataType
enum, replacing constants
2024-09-14 17:05:53 -04:00
Serial
637052978b
MP4: Move AdvisoryRating
to a new module
2024-09-14 17:05:53 -04:00
Serial
0be82f7264
MP4: Add AtomReader::read_u24
2024-09-14 17:05:53 -04:00
Serial
b565b3e288
MP4: Support reading any size flag atom
2024-09-14 11:34:23 -04:00
Serial
06618cf1a7
ID3v2: Restrict frame skipping to the bounds of the frame content
2024-09-13 19:53:39 -04:00
Serial
79336cd304
ItemKey: Fix links
2024-09-09 08:01:39 -04:00
Serial
c629e0e4bd
ID3v2: Handle TXXX ItemKey
conversions correctly
2024-09-09 08:01:39 -04:00
Serial
da4dea1f8b
ItemKey: Add ItemKey::TrackArtists
...
This is a multi-valued item where each entry contains one artist name.
See <https://picard-docs.musicbrainz.org/en/appendices/tag_mapping.html#artists >.
2024-09-09 08:01:39 -04:00
Serial
e787f81544
Timestamp: Support parsing without separators
2024-09-09 07:07:36 -04:00
Serial
069b7bfc97
Tests: Switch to test_log
...
We have really good debug/trace logs now. Having them available for test failures is a huge help.
2024-09-01 19:26:30 -04:00
Serial
e54a0abd00
MPC: Fix potential divide by zero
2024-08-31 00:10:48 -04:00
Serial
d69f1cc2f3
0.21.1
2024-08-28 22:50:07 -04:00
Serial
18d2c04023
fmt
2024-08-28 22:50:03 -04:00
Serial
03047bb345
FLAC: Stop moving padding blocks
...
`PADDING` blocks were incorrectly getting moved to the end of the header without the `Last-metadata-block` getting set.
2024-08-25 13:43:53 -04:00
Serial
34238b5ec1
AAC: Fix overflow on tag size mismatches
2024-08-24 12:49:14 -04:00
Serial
9c967f6333
MPC: Fix overflow on tag size mismatches
2024-08-24 12:49:14 -04:00
Serial
4f9971a9fc
Clippy
2024-08-24 12:32:18 -04:00
Serial
2f270e873a
FLAC: Retain vendor strings on tag write
2024-08-24 12:32:18 -04:00
Serial
1505ddf69f
0.21.0
2024-07-29 07:44:52 -04:00
Serial
18c9ea0511
misc: Update dependencies
2024-07-29 07:38:21 -04:00
Serial
51e9f5d8b9
MP4: Fix panic on large stts entry counts
2024-07-28 13:57:33 -04:00
Serial
dfb5601b7f
alloc: Add fallible Vec::with_capacity
2024-07-28 13:57:33 -04:00
Serial
5661d18a2e
MP4: Fix panic on improperly sized freeform idents
2024-07-23 16:07:43 -04:00
Serial
59560234b4
MP4: Fix panic on invalid hdlr
atom size
2024-07-23 16:07:43 -04:00
Serial
15e893e268
MP4: Fix panic on invalid data
atom size
2024-07-23 16:07:43 -04:00
Serial
3541fd73f3
WAV: Fix panic on invalid bits_per_sample
2024-07-23 16:07:43 -04:00
Serial
15c1aed9bf
MP4: Allow invalid atom sizes with ParsingMode::Relaxed
2024-07-22 12:19:32 -04:00
Serial
9b4cf83f2a
ID3v2.3: Fix some writing issues
...
* TDAT is DDMM, was previously written as MMDD
* TCON conversion will properly handle refinements
* TIPL and TMCL are now merged into IPLS
2024-07-16 15:17:20 -04:00
Serial
38002d18b1
ID3v2: Stop writing synchsafe integers for ID3v2.3
2024-07-15 13:14:17 -04:00
Serial
5a3a8ba8c6
Vorbis: Check comment counts before allocation
2024-07-14 15:10:36 -04:00
Serial
2a7c061e74
WAV: Fix panic on improperly sized INFO LISTs
2024-07-14 15:10:36 -04:00
Serial
dd9aa76a54
MP4: Fix panic with improperly sized freeform idents
2024-07-14 15:10:36 -04:00
Serial
e9ec05babf
AIFF: Fix parsing of invalid f80 sample rates
2024-07-14 15:10:36 -04:00
Serial
37fdc657a3
MP4: Fix division by zero panic
2024-07-14 15:10:36 -04:00
Serial
61adb2a28f
WAV: Fix multiply with overflow panic
2024-07-14 15:10:36 -04:00
Serial
60bd996e72
Vorbis: Fix multiply with overflow panic
2024-07-14 15:10:36 -04:00
Serial
1e8dbf4295
FLAC: Fix subtract with overflow panic
2024-07-14 15:10:36 -04:00
Uwe Klotz
4fc6b96f40
Add comments
2024-07-04 12:24:59 -04:00
Uwe Klotz
a523db78d1
Add Tag::take_filter()
2024-07-04 12:24:59 -04:00
Serial
fcb5446922
ID3v2: Ignore empty timestamp frames
...
I had a file with an empty timestamp frame that errored with `ParsingMode::BestAttempt`. Now that's only an error case with `ParsingMode::Strict`.
2024-07-04 12:17:30 -04:00
Serial
a6b56c620d
ID3v2: Support writing ID3v2.3 tags
...
closes #62
2024-07-04 11:53:50 -04:00
Serial
ae94af1a88
config: Add ParseOptions::implicit_conversions
2024-07-04 11:53:50 -04:00
Serial
40e11ca729
FLAC: Allow skipping picture blocks
2024-07-04 11:39:52 -04:00
Serial
6e821b7e3e
ParseOptions: Add read_cover_art
2024-07-04 11:39:52 -04:00
Serial
89dd85c3dc
ParseOptions: Add ParseOptions::read_tags
...
This makes it possible to use Lofty exclusively for its property reading, which many projects do at this point.
closes #251
2024-07-04 11:18:25 -04:00
Serial
b2c310d709
0.20.1
2024-07-02 16:09:40 -04:00
Serial
b7adbd19ef
MPEG: Improve duration calculation
...
For files with a VBR header:
Thanks to @naglis for correcting the length calculation. (issue: #412 )
For files without a VBR header:
`rev_search_for_frame_header` would get tripped up on files with trailing data
that looked like a frame sync (ex. 0xFFFF). This would also result in durations that are
slightly off.
For now, VBR streams are still assumed to be CBR. I have not seen a file this does not
work for yet. Eventually it would be nice to have more accurate calculation, but that will require we read the *entire* file.
2024-07-02 16:07:31 -04:00
Serial
dde24d5b6d
Clippy: Fix doc_lazy_continuation
2024-06-11 17:38:17 -04:00
Serial
cd86aaad9c
0.20.0
2024-06-06 13:20:32 -04:00
dependabot[bot]
943a7e1d59
build(deps): update iai-callgrind requirement from 0.10.2 to 0.11.0
...
Updates the requirements on [iai-callgrind](https://github.com/iai-callgrind/iai-callgrind ) to permit the latest version.
- [Release notes](https://github.com/iai-callgrind/iai-callgrind/releases )
- [Changelog](https://github.com/iai-callgrind/iai-callgrind/blob/main/CHANGELOG.md )
- [Commits](https://github.com/iai-callgrind/iai-callgrind/compare/v0.10.2...v0.11.0 )
---
updated-dependencies:
- dependency-name: iai-callgrind
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 13:15:46 -04:00
Serial
b57992b128
Tests: Refactor BoundTaggedFile::into_inner
test
2024-06-06 11:20:19 -04:00
bruh
fee3c1fb0c
[feat] add into_inner for BoundTaggedFile
2024-06-06 11:20:19 -04:00
Serial
739491f238
MP4: Dont discard tags on multiple udta
2024-06-06 11:19:33 -04:00
Serial
d2d4b81fe0
Musepack: Improve audio properties
2024-05-09 13:14:24 -04:00
Serial
da91e43d02
WAV: Fix accidental negation
2024-05-07 15:19:06 -04:00
Serial
f340ebf39b
WAV: Improve audio bitrate calculation
2024-05-07 15:10:39 -04:00
Serial
d067933be3
MP4: Improve audio bitrate calculation
2024-05-06 13:21:10 -04:00
Serial
4d1e7be87e
examples: Add missing entries to Cargo.toml
2024-05-06 13:17:23 -04:00
Serial
5b40a2f3a4
Tests: Fix Clippy lints
2024-05-04 16:46:09 -04:00
Serial
24da5bac31
MPEG: Improve duration estimation
2024-05-04 16:16:47 -04:00
Serial
4eae6e12a7
ID3v2: Remove flags from PrivateFrame
constructor
2024-05-04 12:34:36 -04:00
Serial
32fb134e67
ID3v2: Disallow 4 character TXXX descriptions as ItemKey
2024-05-03 12:17:29 -04:00
Serial
833e34e03a
ID3v2: Cleanup SplitTag
impl
2024-05-03 11:37:52 -04:00
Serial
0332d65441
fmt: Fix whitespace to help rustfmt
2024-05-03 10:55:43 -04:00
Serial
dc80f763a3
ID3v2: Fix some comment tests
2024-05-03 10:55:43 -04:00
Serial
928410da6a
ID3v2: Allow for generic conversion of language frames
2024-05-03 10:55:43 -04:00
Serial
15ce1e1de0
ID3v2: Ensure ordered comparison in retention test
2024-05-01 13:18:38 -04:00
Serial
dc018f3963
doc: Fix some broken links
2024-05-01 13:18:38 -04:00
Serial
4b2fc06192
Tag: Preserve Ilst special items by default
2024-05-01 13:18:38 -04:00
Serial
843fc0d666
Tag: Preserve ID3v2 special items by default
2024-05-01 13:18:38 -04:00
Serial
8eba1bbceb
GlobalOptions: Add preserve_format_specific_items()
2024-05-01 13:18:38 -04:00
Serial
11e765c932
Clippy: explicit-deref-methods
2024-05-01 11:37:06 -04:00
Serial
5c9966109a
ID3v2: Turn Frame
into an enum
2024-05-01 11:37:06 -04:00
Serial
4423b5a62b
changelog: Add entry for ID3v2 timestamps
2024-04-29 11:51:57 -04:00
Serial
0f8ce7a4f0
ID3v2: Parse timestamp frames
2024-04-29 11:51:57 -04:00
Serial
c1f117f5a4
Tag: Support ItemKey::ParentalAdvisory
for Ilst and ID3v2
2024-04-27 13:58:40 -04:00
Serial
1474efa9a3
Vorbis/Ape: Verify FlagCompilation
item contents on merge
2024-04-27 11:17:58 -04:00
Serial
790c1ab1e5
0.19.2
2024-04-26 10:46:46 -04:00
Serial
86782436f2
io: Impl Length
for mutable refs
2024-04-26 10:45:13 -04:00
Serial
e0bea0c21a
0.19.1
2024-04-26 09:48:38 -04:00
Serial
79510821d6
MP4: Use all available free
atoms
...
closes #346
2024-04-26 09:41:16 -04:00
Serial
120b5f52cb
io: Impl Truncate
/Length
for refs
2024-04-26 08:19:54 -04:00
Serial
a1f5c341f9
misc: Use workspace lints table
...
closes : #311
2024-04-23 22:02:37 -04:00
Serial
95476dccd9
misc: Convert repo to workspace
...
closes : #322
2024-04-23 21:39:21 -04:00