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
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