Commit graph

847 commits

Author SHA1 Message Date
Serial
510079c94e
MP4: Cleanup return 2022-10-11 03:47:12 -04:00
Serial
0819b83f32
FLAC: Decouple write handling from OGG formats 2022-10-04 00:49:30 -04:00
Serial
3a4b4f243e
lofty_attr: Add supported_formats attribute for tags 2022-10-04 00:34:20 -04:00
Serial
82a498f670
lofty_attr: Infer FileType::Custom when using non-internal names 2022-10-01 18:49:17 -04:00
Serial
f1ab92733a
Resolve: Move panic into lookup_resolver 2022-09-30 07:09:58 -04:00
Serial
0d4b907e31
Misc: Add debug logging via log crate 2022-09-30 07:05:33 -04:00
Serial
ac420960de
FileType: Remove feature dependent returns 2022-09-29 18:20:57 -04:00
Serial
8b8f355d89
MPEG: Remove write module 2022-09-29 18:11:24 -04:00
Serial
0a628df62c
ID3v1: Cleanup tag stripping 2022-09-29 15:52:05 -04:00
Serial
3b58f16996
lofty_attr: Generate internal write modules 2022-09-24 05:25:42 -04:00
Serial
5cd1dfc99c
lofty_attr: Remove #[lofty(always_present)] 2022-09-24 03:25:46 -04:00
Alex
ba6ef4f400
Probe: Add minimal ParseOptions (#70) 2022-09-24 02:34:22 -04:00
Serial
08082436e2
ID3v2: Use Option<T> for optional extra flag data 2022-09-14 21:31:29 -04:00
Serial
899f4e4664
Misc: Add decode_err! macro to cleanup FileDecodingError creation 2022-09-11 23:03:32 -04:00
Serial
ddffb169f7
MPEG: Fix unclear comments in BITRATES constant 2022-09-09 01:20:38 -04:00
Serial
3fa73f5065
FileProperties: Add new method 2022-09-09 01:13:14 -04:00
Serial
14a8548e4c
docs: Remove formats table from lib.rs 2022-09-09 01:10:23 -04:00
Serial
80f21fa61d
docs: Fix links to resolve::register_custom_resolver 2022-09-09 00:59:36 -04:00
Leonid Parfentev
b347ee0fd5
MP3: Improve validation of frame headers (#67) 2022-09-06 17:25:58 -04:00
Serial
c9c8a5f9f3
VorbisComments: Add get_all
closes: #66
2022-09-04 13:42:31 -04:00
Serial
859d084dbf
ID3v2: Handle tag-wide unsynchronisation flag 2022-09-02 23:37:03 -04:00
Serial
80f29cafef
WAV: Restrict visibility of some functions 2022-08-22 22:37:45 -04:00
Serial
4eb31023a3
fmt: Fix imports 2022-08-22 22:29:01 -04:00
Serial
9e82df3893
ID3v2: Extract out util::text_utils
This is used in multiple other places, makes sense to just make these utils global.
2022-08-22 22:26:42 -04:00
Serial
f25ed9b6c7
ID3v2: Simply parse_popularimeter 2022-08-21 12:29:11 -04:00
Serial
1b546700d5
MPEG: Change remaining references to mp3 to mpeg 2022-08-10 14:14:21 -04:00
Jack Purvis
dbb93fbc05
Fix typo in InitialKey key (#61) 2022-08-03 17:41:15 -04:00
Serial
f3a7e4d5f1
Vorbis Comments: Don't rely on the case of METADATA_BLOCK_PICTURE
closes: #60
2022-08-03 08:33:39 -04:00
Serial
81a8a616c1
Clippy: Revert assertions_on_result_states 2022-08-02 21:58:13 -04:00
Serial
a08b47bf31
Resolve: Remove remove_custom_resolver 2022-08-02 21:48:50 -04:00
Serial
390512bda3
MP4: Add Atom::push_data 2022-07-30 19:47:47 -04:00
Serial
c4fa8f99d8
MP4: Return all values in Atom::data 2022-07-30 19:41:13 -04:00
Serial
ec4fb07042
ID3v2: Expose {synch_u32, unsynch_u32} 2022-07-26 21:55:58 -04:00
Serial
efedf0f443
Resolve: FileResolver::guess docs 2022-07-26 21:09:52 -04:00
Serial
f54481026e
lofty_attr: Use full path for TagType 2022-07-24 16:36:23 -04:00
Serial
0805e6683b
MP3: Rename MP3File to MPEGFile 2022-07-24 16:28:28 -04:00
Serial
da45191187
ID3v2: Change LanguageFrame.lang's type to [u8; 3] 2022-07-24 16:21:18 -04:00
Serial
790e175b30
TaggedFile: Stop taking references to TagType 2022-07-24 16:14:42 -04:00
Alex
f48014fda8
Implement custom file resolvers (#40) 2022-07-24 16:08:46 -04:00
Serial
85ad435898
ID3v2: Update ID3v2Tag docs 2022-07-22 11:55:29 -04:00
Serial
edc9f6ac14
Revert "Clippy: Fix unnecessary_lazy_evaluations"
This reverts commit f5153b9318.
2022-07-21 16:31:40 -04:00
Serial
f5153b9318
Clippy: Fix unnecessary_lazy_evaluations 2022-07-21 16:23:03 -04:00
Serial
8d8158e105
ID3v2: Don't allow empty strings in Accessor::set_* 2022-07-21 16:15:43 -04:00
Serial
079885eefe
ID3v2: Properly handle TXXX/WXXX frames in Tag -> ID3v2Tag conversion 2022-07-21 16:11:41 -04:00
Serial
97f081fb48
Tags: Support ReplayGain keys
ID3v2: Properly store user defined frames after `Tag` conversion
2022-07-21 15:33:57 -04:00
Serial
69436e5c0a
Misc: Add tests and extension detection for MP1 and MP2 2022-07-18 16:04:21 -04:00
Serial
903531e07f
Tag: Add missing return 2022-07-17 13:58:27 -04:00
Serial
7f71053e52
OGG: Add length validation to Vorbis Comments reading 2022-07-12 21:17:18 -04:00
Serial
19cef0400e
FLAC: Return early when encountering invalid zero-sized blocks 2022-07-12 21:01:12 -04:00
Serial
5e35896dff
Misc: Add err! macro 2022-07-12 14:46:30 -04:00
Serial
c833e30103
APE: Stop trusting the lengths of APE tag items 2022-07-12 14:19:02 -04:00
Serial
5c5c95418c
MP4: Fix subtraction 2022-07-11 23:09:06 -04:00
Serial
542f7dabc7
MP4: Better handle invalid atom sizes 2022-07-11 23:01:17 -04:00
Serial
d298199a07
Vorbis Comments: Add zero-sized test 2022-07-11 17:04:40 -04:00
Serial
2f62ff9b60
PictureInformation: Fix potential overflowing addition in from_png 2022-07-11 16:57:03 -04:00
Serial
f99a587391
PictureInformation: Fix potential overflowing subtraction in from_jpeg 2022-07-11 16:52:52 -04:00
Serial
9c35120aeb
Tag: Remove items when Accessor::set_* is provided an empty string 2022-07-11 15:11:33 -04:00
Serial
464e78e222
IFF: Subtract header from file length 2022-07-10 18:35:07 -04:00
Serial
10b8462e7a
WAV: Stop relying on file's provided size (Fix OOM) 2022-07-10 18:30:12 -04:00
Serial
8a70a77387
AIFF: Stop relying on file's provided size (Fix OOM) 2022-07-10 18:16:31 -04:00
Serial
ed37d932bd
Misc: Add WavPack to supported formats 2022-07-10 16:42:48 -04:00
Serial
3a11c2b04c
MP4: Cleanup docs 2022-07-06 23:46:13 -04:00
Serial
0245b18498
Probe: Add examples to docs 2022-07-05 23:26:53 -04:00
Serial
0375a085e2
Probe: Hide paths in examples 2022-07-05 22:51:02 -04:00
Serial
e245155f99
MP4: Add test for empty ilst 2022-07-05 22:38:55 -04:00
Serial
e1c10bee66
MP4: Support property reading for files with FLAC audio 2022-07-05 13:14:09 -04:00
Serial
22bd6a7513
Tags: Add {VorbisComments, Tag}{set_picture, remove_picture} 2022-07-04 15:37:25 -04:00
Serial
b13e9d4b6c
Misc: Add future TODO for TagExt 2022-07-04 15:05:25 -04:00
Serial
c3ef4188bd
Revert "Clippy: Remove needless_borrow allow"
This reverts commit f3dea13d7a.
2022-07-03 17:44:16 -04:00
Serial
39477efe17
Clippy: fix explicit_auto_deref 2022-07-03 17:43:10 -04:00
Serial
22b84cb2be
Docs: Add examples to FileType and TaggedFile methods 2022-07-03 17:37:04 -04:00
Serial
f3dea13d7a
Clippy: Remove needless_borrow allow 2022-06-29 23:06:01 -04:00
Serial
2f3400d1f2
Clippy: Remove unneeded allow 2022-06-29 23:03:31 -04:00
Serial
f4ed05ed55
AIFF: Add zero-sized text chunks test 2022-06-29 22:56:24 -04:00
Serial
f8b011bbba
WAV: Properly capitalize RIFFInfoList 2022-06-26 11:51:52 -04:00
Serial
5a30964228
AIFF: Properly capitalize AIFFTextChunks 2022-06-26 11:49:46 -04:00
Serial
a3e7a81c2e
ID3v1: Properly capitalize ID3v1Tag 2022-06-26 11:46:47 -04:00
Serial
e3132d4123
ID3v2: Properly capitalize ID3v2Tag 2022-06-26 11:44:27 -04:00
Serial
fe7f3b1d8b
ID3v2: Fix doc links 2022-06-26 11:41:02 -04:00
Serial
bb74a9fdf4
ID3v2: Properly capitalize ID3v2Version 2022-06-26 11:39:12 -04:00
Serial
a4e62d674c
ID3v2: Properly capitalize Id3v2TagFlags 2022-06-26 11:38:17 -04:00
Serial
624c441b59
ID3v2: Properly capitalize the error variants 2022-06-26 11:36:21 -04:00
Serial
efff0eb306
ID3v2: Support decoding UTF-16 T/WXXX frames with missing content BOM
closes #53
2022-06-25 21:21:47 -04:00
Serial
1d5d397dfa
Properties: Make bitrates reflect those of ffprobe
closes #54
2022-06-22 10:58:44 -04:00
Serial
f0ea177d94
AIFF: Fixed division by zero panic during property reading
closes #56
2022-06-21 15:31:41 -04:00
Serial
03276db157
Tags: Implement new accessor methods 2022-06-20 11:17:10 -04:00
Serial
ced003dc0a
Accessor: Improve accessor_trait! macro for future expansion 2022-06-20 11:13:58 -04:00
Serial
eddd906ac2
ID3v2: Join artists with "/" during Tag -> Id3v2Tag conversion 2022-06-20 00:01:19 -04:00
Serial
5cce108346
Tag: Fix Tag::get_binary conversion 2022-06-19 11:15:24 -04:00
Serial
d67db38d75
Tag: Rename Tag::get_texts to Tag::get_strings 2022-06-19 11:13:29 -04:00
Serial
d4873e0878
Clippy: allow derive_partial_eq_without_eq 2022-06-19 11:09:31 -04:00
Serial
fd6655b65c
Misc: allow unused_qualifications 2022-06-19 11:00:42 -04:00
Serial
28fe204058
Accessor: Add {set_, remove_}track 2022-06-10 10:32:15 -04:00
Serial
829b3e0e95
Clippy: misc 2022-06-10 08:35:26 -04:00
Serial
fa2a263a5c
Clippy: derive_partial_eq_without_eq 2022-06-10 08:26:29 -04:00
Serial
54aee9c996
Docs: Update supported FileTypes 2022-06-10 08:21:29 -04:00
Serial
4420f92a9f
Tag: Properly capitalize TagType variants 2022-06-07 20:00:05 -04:00
Serial
2c90093aa2
ID3v2: Insert multi-value frames separately during Tag conversion 2022-06-07 19:26:14 -04:00
Serial
117ca51fc0
Properties: Start using ceiling division for bitrate calculation 2022-06-02 21:32:11 -04:00
Serial
6f3d569c21
WavPack: Implement property reading 2022-05-30 14:55:20 -04:00
Serial
508185c48c
WavPack: Support writing tags 2022-05-30 08:45:08 -04:00
Serial
74779369cf
WavPack: Start basic implementation 2022-05-29 22:14:40 -04:00
Serial
953e45f984
MP3: Cleanup 2022-05-18 10:56:09 -04:00
Serial
5022188b69
MP3: Continue frame search when invalid version/layer encountered
Closes #49
2022-05-16 13:53:37 -04:00
Serial
9c021659fc
MP3: Fix hang (#52) 2022-05-16 10:45:40 -04:00
Serial
5e354e9cda
AIFF: Fix AIFC verification 2022-05-15 09:50:38 -04:00
Serial
3c271236b2
MP3: Improve reverse frame sync search 2022-05-15 09:20:44 -04:00
Serial
b5478d1f1d
MP4: Support atoms with multiple values 2022-05-13 17:06:55 -04:00
Serial
3788a436af
MP3: Fix infinite loop 2022-05-10 19:15:15 -04:00
Serial
5b9b97784a
MP3: Fix duration estimation when Xing headers don't have necessary flags 2022-05-08 19:19:28 -04:00
Serial
d8ede0e60b
APE: Allow empty tag items 2022-05-08 11:21:20 -04:00
Serial
d874078610
Cleanup docs 2022-05-08 11:01:20 -04:00
Serial
f0c2252eec
Add tests for zero-size files 2022-05-07 12:13:35 -04:00
Serial
fc6b145093
ID3v2: Attempt to decode invalid COMM languages 2022-05-07 10:24:25 -04:00
Serial
fe0462bf8a
ID3v2: Attempt to read invalid v2 frame IDs in v3 tags 2022-05-06 20:57:14 -04:00
Serial
d52076ea9a
ID3v2: Discard empty frames rather than error 2022-05-05 17:59:23 -04:00
Serial
38de51f47d
Vorbis Comments: Read vendor strings with invalid mixed encodings 2022-05-04 21:11:14 -04:00
Serial
77eec77897
FLAC: Fix property reading of zero-length files 2022-05-04 20:54:56 -04:00
Serial
22664734cf
ID3v2: Fix reading of zero size tags 2022-05-03 16:47:24 -04:00
Serial
b69d7c082f
MP4: Fix mdat search 2022-04-30 12:58:30 -04:00
Serial
caf043a3a2
MP4: Fallback to bitrate calculation from mdat when necessary 2022-04-29 21:12:49 -04:00
Serial
679cac6173
MP4: Fix hang when reading invalid padding 2022-04-29 20:35:40 -04:00
Serial
b1ef1f7adc
MP3: Properly validate the contents of Xing/LAME/VBRI headers 2022-04-28 17:09:08 -04:00
Alisson Lauffer
cb15ef7c1b
Recognize image/jpg as MimeType::Jpeg 2022-04-27 18:24:48 -03:00
Serial
89ebe2ed17
Fix panic reading MP3 files with no MPEG frames 2022-04-24 16:56:13 -04:00
Serial
87315321ef
Cleanup 2022-04-13 13:28:48 -04:00
Serial
c86d71ad35
MP3/ID3v2: Fix reading of ID3v2 tags with an extended header 2022-04-09 01:58:25 -04:00
Serial
6ac0fe8f54
APE: Fix inconsistent error message 2022-04-08 22:09:13 -04:00
Serial
55389ef539
Fix doc comment 2022-04-05 18:45:44 -04:00
Serial
7ac73e40db
Attempt to get PictureInformation during Tag -> VorbisComments conversion 2022-04-04 20:49:09 -04:00
Serial
065c70b176
Rename VorbisComments::remove_key, make it return an iterator 2022-04-04 20:46:22 -04:00
Serial
afd1a6d8ef
Rename VorbisComments::{get_item, insert_item} to VorbisComments::{get, insert} 2022-04-04 20:43:19 -04:00
Serial
6cfc10d3fe
Allow user provided PictureInformation in VorbisComments::insert_picture 2022-04-04 20:32:11 -04:00
Serial
c989629ac1
Rename TaggedFile::remove_tag to TaggedFile::take 2022-04-03 17:22:18 -04:00
Serial
20e1ecf62d
Implement AudioFile for TaggedFile 2022-04-03 17:18:11 -04:00
Serial
7455f08b41
ID3v2: Stop writing a BOM for TextEncoding::UTF16BE 2022-04-01 16:54:49 -04:00
Serial
6c29852737
Add Tag::take_strings 2022-03-31 16:20:49 -04:00
Serial
cb9dd65f63
Add ItemValue::{into_string, into_binary} 2022-03-31 16:13:35 -04:00
Serial
a0e7d5519c
Add missing doc comment 2022-03-31 16:10:03 -04:00
Serial
d06ff53a5e
Cleanup 2022-03-28 19:20:33 -04:00
Serial
86a24b2032
MP4: Rename AdvisoryRating::None 2022-03-28 19:18:35 -04:00
Serial
e2d0978ce1
Allow removing ID3v2 tags from FLAC and APE 2022-03-27 14:12:32 -04:00
Serial
b41cd32677
Fix a feature issue; cleanup 2022-03-26 12:52:26 -04:00
Serial
559b5a4e34
MP4: Read the Audio Specific Config's channel config 2022-03-25 20:27:50 -04:00
Serial
c3c8e01bf4
Support the ID3v2 POPM frame 2022-03-20 12:05:38 -04:00
Serial
87d9db767d
Add missing Apple ID3v2 frame IDs to verification 2022-03-20 10:43:19 -04:00
Serial
bd680be66a
Support writing a CRC in the ID3v2 extended header 2022-03-20 00:00:23 -04:00
Serial
42990c6ca1
Remove an old forgotten feature 2022-03-19 20:52:41 -04:00
Serial
12b919871d
Add TagExt::clear 2022-03-18 15:22:40 -04:00
Serial
4b51453ce7
Update format table in lib.rs 2022-03-18 15:14:52 -04:00
Serial
a388d166ea
Fix visibility issues 2022-03-18 15:10:06 -04:00
Serial
301d457cd3
Give FLAC its own module 2022-03-18 15:06:42 -04:00
Serial
fd63099978
Wrap files in a BufReader in read_from 2022-03-18 14:47:00 -04:00
Serial
26b0b013a7
Add more Probe tests 2022-03-18 13:54:55 -04:00
Serial
c6d1ef505d
Support FLAC files with an ID3v2 tag 2022-03-16 16:59:55 -04:00
Serial
45182b6e3d
Fix some ItemKey macro formatting 2022-03-12 13:07:35 -05:00
Serial
93a85b39d9
MP4: Add AudioObjectType and Mp4Codec::MP3 2022-03-12 12:58:48 -05:00
Serial
483b3881a2
Support non-PNG/JPEG images in PictureInformation::from_picture 2022-03-12 11:35:03 -05:00
Serial
74622d6796
Add some possible TODOs 2022-03-09 21:51:14 -05:00
Serial
d530fc3133
MP4: Fix reading of sample rates for object types > 31 2022-03-09 21:38:27 -05:00
Serial
768fc8d875
Support the ALS codec for MP4; Fix MP4 property reading 2022-03-08 23:08:04 -05:00
Serial
fb0b6e0c1f
Add TagItem methods to consume and return fields 2022-03-07 20:46:19 -05:00
Serial
e58355af74
Remove unnecessary clone 2022-03-07 19:16:12 -05:00
Serial
d86e007fe7
Handle non-full meta atoms 2022-03-06 13:17:16 -05:00
Serial
0920cb2cda
Add a test for issue #37 2022-03-05 11:55:41 -05:00
Serial
1771985467
Missing files 2022-03-04 09:08:13 -05:00
Serial
b6221c18b2
Remove types module 2022-03-04 09:07:17 -05:00
Serial
41e4b1a883
Bump ogg_pager 2022-03-03 17:04:34 -05:00
Serial
6bfe8453a0
Add Ilst::{atoms, retain}, relocate ApeTag 2022-02-25 20:38:58 -05:00
Serial
c029a688e1
Update changelog 2022-02-24 16:07:26 -05:00
Serial
689e5fb28b
Fix ID3v2 picture writing after Tag conversion 2022-02-24 16:05:32 -05:00
Serial
d10c7de04b
Actually write the footer flag to the tag 2022-02-23 17:13:48 -05:00
Serial
de8bc33f22
Utilize the channel mapping family to verify Opus channel counts 2022-02-21 13:10:42 -05:00
Serial
be4e2a9866
Utilize free atoms when writing; Fix meta atom writing 2022-02-20 18:00:00 -05:00
Serial
2b2b6d2532
Add some more lints 2022-02-20 17:46:58 -05:00
Serial
03a8ee8e2a
Remove some unused attributes 2022-02-20 09:10:29 -05:00
Serial
0092137b2f
Verify that the encoding is valid in ID3v2.2 2022-02-20 08:59:52 -05:00
Serial
dba7fbaa8c
Add missing proprietary Apple ID3v2 frames 2022-02-19 20:06:46 -05:00
Serial
dde40b78db
Fix MP4 integer pair writing 2022-02-19 19:48:19 -05:00
Serial
99d4bdc9c2
Don't allow writing an ID3v2 footer in WAV/AIFF 2022-02-19 10:42:18 -05:00
Serial
e01d875e05
Remove unwraps; Stop taking references to Copy types 2022-02-19 10:14:14 -05:00
Serial
55cc5e5264
fmt 2022-02-19 09:41:36 -05:00
Serial
e66ab4587d
Finalize Accessor and TagExt documentation 2022-02-19 09:39:09 -05:00
Serial
74b4374172
Don't write 3 byte integers 2022-02-19 08:44:34 -05:00
Serial
9150c6c547
Shrink variable-size integers when writing 2022-02-19 01:03:26 -05:00
Serial
69b4e2307f
Discard empty atoms 2022-02-19 00:32:16 -05:00
Serial
610778b8c2
Fix some macro formatting 2022-02-18 23:39:50 -05:00
Serial
a5c66c5d36
Fix popularimeter/parental advisory mixup 2022-02-18 23:33:20 -05:00
Serial
4c0b7c2273
Add rtng atom support 2022-02-18 08:50:39 -05:00
Serial
c70e8ee454
Expand struct definitions in doc comments 2022-02-18 08:03:46 -05:00
Serial
a1e5a0f670
Add mp4::constants for data type codes 2022-02-18 07:57:26 -05:00
Serial
a158d4684e
Fix doc comment 2022-02-17 19:07:38 -05:00
Serial
03b7384f8b
Remove ErrorKind::BadExtension 2022-02-17 19:00:38 -05:00
Serial
19b46c6a96
Add a special case for plID atom 2022-02-17 18:53:51 -05:00
Serial
a31f372559
Support writing an ID3v2 footer 2022-02-16 17:28:47 -05:00
Serial
bed38e59c0
Actually encode text when writing ID3v2 tags 2022-02-16 17:25:47 -05:00
Serial
59e034dee9
Make AudioFile a supertrait 2022-02-16 16:33:07 -05:00
Serial
bca87bcece
Continued cleanup 2022-02-15 18:26:29 -05:00
Serial
10bbb495c0
Implement full MPEG frame header in Mp3Properties 2022-02-14 22:09:56 -05:00
Serial
f9be2c8b8c
Don't error on missing Xing/VBRI header 2022-02-14 21:24:27 -05:00
Serial
6bb0427c84
Make all property structs non-exhaustive 2022-02-14 21:19:05 -05:00
Serial
2ccb38a97d
Make PictureType and Mp4Codec non-exhaustive 2022-02-13 20:32:55 -05:00
Serial
38a286cc6e
Clarify ID3v2 being read only in APE 2022-02-13 20:14:24 -05:00
Serial
c8da9c674c
Reorder TaggedFile impl 2022-02-13 20:08:26 -05:00
Serial
d73173fb84
Add extra check to tag_reader example; Reorganize test assets 2022-02-13 13:15:27 -05:00
Serial
3cb1cf7aed
Make MimeType non-exhaustive 2022-02-13 12:14:05 -05:00
Serial
b3e71729da
Continued cleanup 2022-02-13 12:11:06 -05:00
Serial
8fa0f67afb Cleanup writing of OGG formats 2022-02-12 20:36:23 -05:00
Serial
91e5d5984b Switch to cfg-if for rustfmt support 2022-02-12 14:33:00 -05:00
Serial
8b39695a61 Add more lints 2022-02-12 14:12:55 -05:00
Serial
a21d0380de Cleanup 2022-02-12 02:52:43 -05:00
Serial
2763fccffa Continue to make use of fallible allocation 2022-02-08 20:56:11 -05:00
Serial
c473177a8b Cleanup pictures module 2022-02-08 20:06:05 -05:00
Serial
6570dcaeaf
Begin fallible allocation; Fix WAV/AIFF OOM 2022-02-07 11:25:59 -05:00
Serial
9e18616a68
Fix panic in Mp4File::read_from 2022-02-07 10:03:28 -05:00
Serial
d13f01d215
Cleanup; Make use of doc_cfg 2022-02-04 00:59:20 -05:00
Serial
a179cfe736
Start work on TagIO trait
This is the start of making Lofty more general purpose, allowing for the creation of custom tags.

This also makes `TagType::remove_from*` fallible, which makes much more sense.
2022-02-02 22:10:04 -05:00
Serial
c6a02c6b73
Add some helpful comments 2022-02-02 19:26:02 -05:00
Serial
c1725de93d
Add Speex support 2022-01-31 18:19:11 -05:00
Serial
08b2dd9209
Add missing AIFF extensions 2022-01-31 13:26:02 -05:00
Serial
3c397705c0 Fix feature issues 2022-01-28 15:29:34 -05:00
Serial
394f4b3c43 Cleanup imports 2022-01-28 12:28:52 -05:00
Serial
cb7abdb7af Overhaul LoftyError 2022-01-27 15:53:41 -05:00
Serial
090a00616e Add tag writing benchmark 2022-01-26 23:39:30 -05:00
Serial
43feafedb9 Switch to once_cell 2022-01-26 14:18:38 -05:00
Serial
f697e94fe6 Update ogg_pager 2022-01-26 11:53:20 -05:00
Serial
a25680f8e2
Add ItemKey::EncodedBy mapping for Ilst 2022-01-25 15:57:09 -05:00
Serial
4eb168a8ea
Cleanup 2022-01-25 14:42:32 -05:00
Alex
15daf36c0d
Remove old allow attribute 2022-01-24 19:30:55 -05:00
Alex
e0ea0eb67a
Merge pull request #33 from sagudev/wave-depth
Fix `WavProperties` reading
2022-01-24 13:57:55 -05:00
sagu
a7155f31a9
Update src/iff/wav/properties.rs
Co-authored-by: Alex <69764315+Serial-ATA@users.noreply.github.com>
2022-01-24 19:24:35 +01:00
Serial
d9174697d3 Fix MP4 audio bitrate 2022-01-24 11:05:12 -05:00
sagu
6325665ab2
Merge branch 'main' into wave-depth 2022-01-24 16:35:24 +01:00
Alex
b4d56ab841
Merge pull request #31 from sagudev/main 2022-01-24 09:11:45 -05:00
sagudev
bd896287b6 bit-depth for ALAC and getter for wav 2022-01-24 06:35:15 +01:00
sagu
504ac31cda
Apply suggestions from code review
Co-authored-by: Alex <69764315+Serial-ATA@users.noreply.github.com>
2022-01-24 06:00:02 +01:00
Serial
81bce69d18 Cleanup 2022-01-23 14:11:16 -05:00
sagudev
e0f075a912 Add testing against hound 2022-01-23 13:37:13 +01:00
sagudev
c8c84e6660 hound testing 2022-01-23 12:32:51 +01:00
sagudev
81efcb0271 bit_depth for iff and ape 2022-01-23 07:35:24 +01:00
sagudev
9deb7f27f0 fix flac bit depth 2022-01-22 21:28:09 +01:00
sagudev
29378f53a5 bit_depth prototype 2022-01-22 19:54:42 +01:00
Alex
d034782a27
Fix test assertion 2022-01-22 11:01:27 -05:00
localthomas
b9c469173a negative multiply made more readable 2022-01-21 18:15:05 +01:00
localthomas
a326788819 implemented clippy suggestions 2022-01-21 17:42:01 +01:00
localthomas
e1a8e08a3f return type of guess_inner is now std::io::Result 2022-01-21 17:34:49 +01:00
localthomas
134d91d61a refactor after code review 2022-01-21 17:31:14 +01:00
localthomas
47a28402db
added frame sync search for MP3 reading
The first MP3 frame behind metadata blocks is found by searching for frame sync bits.
This skips junk bytes between any metadata blocks and the first MP3 frame.
2022-01-21 14:52:32 +01:00
localthomas
0e8ad5759c
added searching for frame sync bits when file type probing
When a file contains an ID3 block, the following data might be an MP3 frame.
The frame might be prepended by junk bytes, which are skipped with this commit.
2022-01-21 13:55:28 +01:00
Serial
c27264f50b
Verify ID3 Frame contents prior to writing 2022-01-13 14:42:34 -05:00