Commit graph

1714 commits

Author SHA1 Message Date
Serial
0019e22a40 Probe: Check custom resolvers before default implementations 2024-01-02 14:37:19 -05:00
Serial
6f1c84871d changelog: Add entry for MP4 offset atom changes 2024-01-02 13:23:11 -05:00
Serial
3388616b90 MP4: Add more trace logging to write process 2024-01-02 13:23:11 -05:00
Serial
93ec518dae MP4: Update offset atoms after writing
Previously, the offset atoms remained untouched, which would lead audio players to believe that the file was corrupted.
2024-01-02 13:23:11 -05:00
Serial
54971b3a6f MP4: Introduce AtomWriter
This is simply a wrapper around `Cursor<Vec<u8>>` for now. Will likely become more powerful in the future.
2024-01-02 13:23:11 -05:00
Serial
50363c7ef2 MP4: Cleanup write_size() 2024-01-02 13:23:11 -05:00
Uwe Klotz
d7180483f6 Restore deleted comment 2024-01-01 17:55:09 -05:00
Uwe Klotz
73659a178a Fix clippy::from_iter_instead_of_collect 2024-01-01 17:55:09 -05:00
Uwe Klotz
3d737cb7ad Fix clippy::explicit_iter_loop (auto) 2024-01-01 17:55:09 -05:00
Uwe Klotz
d4a873cb5c Fix clippy::unnecessary_fallible_conversions 2024-01-01 17:55:09 -05:00
Uwe Klotz
d64237ff6a Fix clippy::clippy::manual_let_else 2024-01-01 17:55:09 -05:00
Serial
038998f3cc MPEG: Warn about header APE tags 2023-12-31 22:37:07 -05:00
Serial
14cd3e81df FLAC: Add more logging 2023-12-31 22:37:07 -05:00
Serial
73663a7346 ID3: Add logging 2023-12-31 22:37:07 -05:00
Serial
1e4562bf0f APE: Add more warning logs 2023-12-31 22:37:07 -05:00
Serial
18894caf3d AAC: Add debug logging 2023-12-31 22:37:07 -05:00
Serial
ac10c9cbe4 IFF: Add more logging to AIFF/WAV 2023-12-31 22:37:07 -05:00
Serial
e7db26bd58 MPC: Add logging for version check 2023-12-31 22:37:07 -05:00
Serial
4198a52939 MP4: Add more logging 2023-12-31 22:37:07 -05:00
Serial
363f595448 OGG: Change property debug logs to warnings 2023-12-31 22:37:07 -05:00
Serial
aabf7cf8f6 OGG: Add warning logs to VorbisComments parsing 2023-12-31 22:37:07 -05:00
Serial
f3ba3402f4 Probe: Add debug logging 2023-12-31 22:37:07 -05:00
Serial
def61e7410 MPEG: Log a warning when estimating duration from bitrate 2023-12-31 22:37:07 -05:00
Serial
1214f20c8b OGG: Use rounded division to calculate durations
This brings us to parity with FFmpeg durations.
2023-12-31 14:22:39 -05:00
Serial
945c33f528 ogg_pager: Add Packets::iter() 2023-12-31 13:44:33 -05:00
Serial
9444766b38 ID3v2: Move Id3v2Tag unit tests to tag/tests.rs
We reached nearly 1.5k lines of unit tests for `Id3v2Tag`, and with the `tag` module already being quite large itself, it was nearly 3k lines total.

Moving the unit tests to `{module}/tests.rs` is a common pattern in std.
2023-12-31 13:03:49 -05:00
Serial
c606e07c62 changelog: Add entry for ID3v2 TIPL fix 2023-12-26 22:28:35 -05:00
Serial
404960bad9 Text: Document TextDecodeOptions 2023-12-26 22:28:35 -05:00
Serial
3c33cb1f43 ID3v2: Support UTF-16 TIPL frames with single BOM
This changes the signature of `decode_text` to take the new `TextDecodeOptions`. This allows us to specify a UTF-16 BOM ahead of time.

closes #306
2023-12-26 22:28:35 -05:00
Uwe Klotz
7e93b3c1f7 ogg-pager: Update byteorder dependency 2023-12-22 20:52:26 -05:00
Uwe Klotz
5f3cfa06d7 Replace base64 with data-encoding 2023-12-22 20:48:24 -05:00
Uwe Klotz
f8aaaeab20 Update Cargo.toml
Co-authored-by: Alex <69764315+Serial-ATA@users.noreply.github.com>
2023-12-21 20:44:08 -05:00
Uwe Klotz
a6689dd5b5 Use local, static OnceLock instance 2023-12-21 20:44:08 -05:00
Uwe Klotz
7ce77290e4 Rust v1.70: Replace once_cell with std::sync::OnceLock 2023-12-21 20:44:08 -05:00
Serial
80273a449c Tests: Update doc tests referring to MimeType::None
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2023-12-18 12:36:45 -05:00
Serial
ec80ae828c Tests/Benches: Fixup for new Picture::new_unchecked signature
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2023-12-18 12:36:45 -05:00
Serial
c62ac9e252 Clippy: Fix needless_borrow
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2023-12-18 12:36:45 -05:00
Serial
d9f59e177b changelog: Add entry for removed None variants
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2023-12-18 12:36:45 -05:00
Serial
f3457f450c Picture: Fix docs referring to MimeType::None
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2023-12-18 12:36:45 -05:00
Serial
2a18e5f358 MPEG: Remove Emphasis::None variant
This is better expressed by making `MpegProperties` store an `Option<Emphasis>`.

Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2023-12-18 12:36:45 -05:00
Serial
46ec39216a ID3v2: Remove {Text, Image}SizeRestrictions::None variants
This is better expressed by making `TagRestrictions` store an `Option<{TextSizeRestrictions}>`
 and `Option<{ImageSizeRestrictions}>` instead.

Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2023-12-18 12:36:45 -05:00
Serial
beb82f6416 Picture: Remove MimeType::None variant
This is better expressed by making `Picture` store an `Option<MimeType>` instead.

Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2023-12-18 12:36:45 -05:00
Serial
b89ca2a30d changelog: Add entries for ID3v2 TIPL change 2023-12-18 12:31:36 -05:00
Serial
07ddca3762 ID3v2: Support building TIPL frames on Tag merge 2023-12-18 12:31:36 -05:00
obsoleszenz
be749a48a3 Fix u32 overflow by first casting stream_len to u64 before applying
multiplication
2023-12-17 15:36:03 -05:00
Serial
60db8d218c ID3v2: Stop erroring on empty frames 2023-12-14 12:16:03 -05:00
Serial
90ec1e20f7 changelog: Update with MP4 changes 2023-12-05 14:32:33 -05:00
Serial
70ac1596b9 MP4: Use let else to prevent nesting 2023-12-05 14:32:33 -05:00
Serial
a3b3d3bdf7 MP4: Round duration millis
Fixes cases of us being off by one
2023-12-05 14:32:33 -05:00
Serial
f14859f30b MP4: Fix FLAC atom FOURCC
The correct FOURCC is `dfLa`, so this would always be missed and properties would be incomplete.
2023-12-05 14:32:33 -05:00