Commit graph

126 commits

Author SHA1 Message Date
Serial
dec830307c MP4: Fix parsing of plID atoms with incorrect codes
closes #201
2023-05-28 17:25:07 -04:00
Serial
ce8c26f2b8 tag: Switch TagType variants to UpperCamelCase 2023-04-21 20:35:21 -04:00
Serial
8920a39f93 file: Switch FileType variants to UpperCamelCase 2023-04-21 20:35:21 -04:00
Serial
18933087d5 Tags: Make method names consistent 2023-03-18 13:48:21 -04:00
Serial
83b26b30f4 Tags: Add a <Tag>::new() alias for <Tag>::default() 2023-03-18 12:12:15 -04:00
Uwe Klotz
b78fb62cd6 Fix clippy::needless_borrow warnings 2023-03-14 19:39:59 -04:00
Serial
7d8136d763 MP4: Simplify comparison 2023-03-13 20:14:49 -04:00
Serial
39ec33c93e MP4: Make heavier use of named constants 2023-03-13 20:14:49 -04:00
Serial
74b1119c0e MP4: Use some clarifying constants 2023-03-13 20:14:49 -04:00
Serial
f422444848 MP4: Make AtomReader act relatively 2023-03-13 20:14:49 -04:00
Serial
2271266dd4 MP4: Fix meta atom size writing 2023-03-13 20:14:49 -04:00
Serial
c930544eb4 MP4: Remove AtomReader::position() 2023-03-13 20:14:49 -04:00
Serial
5f5ed69dab MP4: Include identifier in AtomInfo length check 2023-03-13 20:14:49 -04:00
Serial
5db5a2e688 MP4: Improve readability of moov.udta.meta search 2023-03-13 20:14:49 -04:00
Serial
dea4f880c9 MP4: Skip over mdia atom content when reading traks 2023-03-13 20:14:49 -04:00
Serial
6496fd96e7 MP4: Restrict reader to moov bounds when reading 2023-03-13 20:14:49 -04:00
Serial
b83a1bc0a5 MP4: Move udta creation to its own function 2023-03-13 20:14:49 -04:00
Uwe Klotz
6754809b00 Separate SplitAndMergeTag into SplitTag/MergeTag traits
Pevent any unexpected or undefined behavior at runtime by applying the
typestate pattern.
2023-02-28 09:57:12 -05:00
Uwe Klotz
c1c441afb1 Expose channel mask in file properties
Currently only supported by WAV files.
2023-02-28 09:05:52 -05:00
Uwe Klotz
3f751f3c38 id3v2/mp4/ogg: Add tests for multi-valued item conversion 2023-02-19 19:48:47 -05:00
Uwe Klotz
0a77f479ae More robust year parsing without allocations
Signed-off-by: Uwe Klotz <uwe.klotz@gmail.com>
2023-02-11 01:38:25 -05:00
Uwe Klotz
533cd7dcff Renaming: rejoin -> merge 2023-01-20 08:34:33 -05:00
Uwe Klotz
2b562c4a4b Split and rejoin tags for read/modify/write round trips 2023-01-20 08:34:33 -05:00
Uwe Klotz
751f5ca06f Add conversions between borrowed/owned data 2023-01-15 11:34:46 -05:00
Uwe Klotz
06b3b6dbaf mp4: More robust parsing and updated mapping of rtng atom 2023-01-14 20:05:25 -05:00
Uwe Klotz
76cddb7719 Add Clone bounds to impl Iterator results 2023-01-14 11:45:06 -05:00
Uwe Klotz
3df98aff12 Add more IntoIterator implementations 2023-01-14 11:45:06 -05:00
Serial
af5154b7fb TagExt: Add TagExt::len 2023-01-11 21:13:50 -05:00
Uwe Klotz
bdf1547afb mp4: Implement IntoIterator for Ilst
This is needed for merging tags.
2023-01-11 08:35:19 -05:00
Uwe Klotz
dca773401d Use #[must_use] pub const fn new(...) whenever possible 2023-01-10 20:06:05 -05:00
Serial
53050039a5 FLAC: Add FlacProperties 2023-01-08 17:16:26 -05:00
Uwe Klotz
0f480a26c5 mp4: Map FlagCompilation to text "0"/"1"
This is consistent with other tag types.
2023-01-06 22:05:06 -05:00
Uwe Klotz
cf5f29af2f mp4: Use constant for advisory rating ident 2023-01-06 22:05:06 -05:00
Serial
2fc30f3b5a Misc: Remove mp4_ilst feature 2023-01-05 00:43:04 -05:00
Serial
e2253ff754 MP4: Implement TryFrom<ItemKey> for AtomIdent 2023-01-05 00:42:44 -05:00
Uwe Klotz
d1bc6d436b Allow to create AtomIdent constants with 'static lifetime 2023-01-04 23:14:38 -05:00
Serial
ecdb7ff878 MP4: Stop validating flags for gnre atom upgrade 2022-12-16 12:24:51 -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
6df1a462b9
Misc: Switch enum Default impls to derives 2022-12-10 12:25:20 -05:00
Serial
1a866c0c32 Clippy: Apply new nightly lints 2022-11-24 15:12:56 -05:00
Serial
742eaa680f Ilst: Add AtomData::Bool for flag atoms 2022-11-09 14:14:17 -05:00
Serial
544aa7a411
TagExt: Add TagExt::contains 2022-11-05 09:54:37 -04:00
Serial
0039c86182
docs: Make a slightly better comment for *Properties::duration 2022-10-15 10:27:21 -04:00
Serial
c675a5eb05
docs: Stop putting doc comments below attributes 2022-10-15 10:23:35 -04:00
hummuseater44
6415c7e67c
Fixed Capitalization On AtomData::UTF16 (#72) 2022-10-14 22:02:39 -04:00
Alex
02f1314005
Add support for AAC (#71) 2022-10-14 09:06:27 -04:00
Serial
fcd9cee50f
Error: Add ErrorKind::SizeMismatch 2022-10-13 19:49:32 -04:00
Serial
efab7ca276
lofty_attr: Add tag attribute macro to generate some docs 2022-10-11 19:47:54 -04:00
Serial
f3d9176a48
Clippy: Satisfy uninlined_format_args 2022-10-11 04:05:27 -04:00
Serial
238b40c486
MP4: Remove trak module 2022-10-11 03:51:13 -04:00