Serial
04a577bdfa
MP4/ID3v2: Better handling of flag items
2024-01-11 12:44:13 -05:00
Uwe Klotz
f4be1e3775
Fail CI build on clippy warnings
2024-01-06 13:28:58 -05:00
Uwe Klotz
0f06fa3de2
vorbis: Fix unreachable pattern in ItemKey mapping
2024-01-06 13:28:47 -05:00
Uwe Klotz
accdea1e4d
Rename ItemKey variants to PascalCase
2024-01-06 13:21:07 -05:00
Uwe Klotz
2651eb22bd
MimeType: Implement Display instead of ToString
2024-01-06 13:20:48 -05:00
Uwe Klotz
5700ef13ac
Rename PodcastReleaseDate to ReleaseDate
2024-01-05 17:30:35 -05:00
Serial
09cac3348a
Add back dates marker comment
2024-01-05 00:25:55 -05:00
Uwe Klotz
74b1bb8374
Add more date/year mappings from MusicBrainz Picard
2024-01-05 00:25:55 -05:00
Uwe Klotz
20a38cc829
mp4: Map "----:com.apple.iTunes:ORIGINALDATE" to OriginalReleaseDate
...
Adopted from TagLib v2.0.
2024-01-03 15:37:44 -05:00
Serial
e48efff72a
ogg_pager: 0.6.0
2024-01-03 10:19:28 -05:00
Serial
10fbc6a432
Speex: Estimate bitrate when the nominal bitrate is not available
2024-01-03 09:47:33 -05:00
Serial
3a9a2dea7f
Probe: Introduce GlobalOptions
to handle allocations and resolvers
...
This moves `ParseOptions::{use_custom_resolvers, allocation_limit}` to the new `GlobalOptions` struct. This makes it easier to check for certain options in places where `ParseOptions` may not be available.
`GlobalOptions` are not truly global, they only apply to the current thread.
2024-01-02 19:06:45 -05:00
Serial
014cd733ab
ID3v2: Add more logging
2024-01-02 15:51:42 -05:00
Serial
bf1f690ccb
MPEG: Stop using find_id3v2
2024-01-02 15:51:42 -05:00
Serial
400ec97edf
changelog: Update for latest changes
2024-01-02 15:51:42 -05:00
Serial
a0afcb7712
MPEG: Find ID3v2 tags buried in junk
...
Now when we can't find an ID3v2 tag at the start of the file, we search the area between the start and the first MPEG frame (or just `max_junk_bytes`, whichever is smaller).
For now, this is only done for MPEG files, and ID3v2 tags. APE header tags are less important, so similar functionality can be implemented later.
2024-01-02 15:51:42 -05:00
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