Commit Graph

163 Commits

Author SHA1 Message Date
Mattias Wadman
77907a30b7
Add Ogg Opus metadata support (#69)
Refactor into a ogg demuxer that returns slice of packets
and then look for first vorbis comment or opus tags packet.

Fixes #64
2022-05-30 21:04:23 +10:00
David Howden
d52dcb253c fix panic on invalid input
Fixes #79
2020-11-20 18:04:57 +11:00
David Howden
a92213460e check bounds in readAPICFrame
Fixes #80
2020-11-20 06:32:04 +11:00
David Howden
4b595ed4fa check bounds in readAtomData
Fixes #78
2020-11-20 06:28:17 +11:00
David Howden
6b18201aa5 check bounds in readPICFrame
Fixes #77
2020-11-20 06:25:38 +11:00
David Howden
53ee65d2ae be more cautious with language parsing
Relates to #76
2020-11-20 06:21:29 +11:00
David Howden
46e57f75db limit up-front allocation when reading bytes
Fixes #73
2020-08-29 07:40:07 +10:00
Mattias Wadman
5d76b8eaae
vorbis: Add comment picture support (#65) 2020-04-12 13:29:33 +10:00
David Howden
869a70545f
Check versions before using data length indicator (#66)
* id3v2: Read and use frame data length indicator

* id3v2: only use data length indicator for 2.4

Co-authored-by: Mattias Wadman <mattias.wadman@gmail.com>
2020-04-11 12:20:04 +10:00
David Howden
7e5c04fecc
move towards using uint for all sizes (#59)
* move towards using uint for all sizes
* dsf: support larger files
2019-11-22 22:50:59 +11:00
w1ck3dg0ph3r
73beae5008 ogg: support comment header packets spanning pages (#57)
* ogg: support comment header packets spanning pages

* ogg: add test for multipage comment header

* ogg: cleaner buffer initialization

Co-Authored-By: David Howden <dhowden@gmail.com>
2019-11-22 22:23:40 +11:00
David Howden
f644c14784 vorbis: refactor integer decoding to use more clear naming
Relates to #56.
2019-11-21 00:20:07 +11:00
Steve Hellwege
db0c67e351 Issue 50 - mp4: multiple data atoms can cause size overflow and hang 2019-05-19 20:08:35 +10:00
ilkomiliev
a9f04c2798 added dsf support, reusing the existing ID3 parser (#43) 2018-11-05 09:57:29 +11:00
Jonas L
34f7f1e3c8 Add comment metadata (#44) 2018-11-05 07:56:00 +11:00
David Howden
c555fff0b7 Merge branch 'jooola-tag_test' 2018-09-21 19:02:25 +10:00
David Howden
222f0b2988 Merge string trimming for id3v1 into single method 2018-09-21 18:58:54 +10:00
jo
bcc288a50a Use dedicated readStringTrimNULL function in id3v1 2018-09-03 15:15:19 +02:00
jo
5cdccc9693 Add OGG sample file 2018-09-02 19:49:24 +02:00
jo
3543a25cd7 Fix NULL chars in string while reading id3v11 tags 2018-09-02 19:22:37 +02:00
jo
43725ee9b6 Add test_tag and some sample data 2018-09-02 15:16:59 +02:00
Jonas L
8244084007 Add parsing year for vorbis comment (#39) 2018-08-15 19:16:51 +01:00
David Howden
e80a3fa76a update to use new io.Seek consts, require min go1.7 2018-04-02 11:06:41 +10:00
David Howden
1264d437b3 cmd: tidy up flag usage 2018-04-02 10:54:32 +10:00
David Howden
f163d543fb id3v2: remove unused method and merge declaration 2018-04-02 08:18:11 +10:00
David Howden
964345f10f fix const declarations 2018-04-02 08:17:25 +10:00
David Howden
3fc65dddfc id3v2: fix variable name and pre-compute genre regexp 2018-04-02 08:17:10 +10:00
David Howden
4f91c64763 id3v2: tidy up dataSplit and decodeText 2018-04-02 08:16:46 +10:00
David Howden
610452ee64 tools: move to cmd subdir 2018-04-02 08:14:54 +10:00
Markus Krogh
f4ddc56a4c id3v2 : fix triple null termination utf-16 little endian. (#36)
* Fix triple null termination utf-16 little endian.

When fixing result[1] result[0] should be fixed as well.

* result[0] should be fixed before fixing result[1]
2018-04-02 07:26:56 +10:00
David Howden
ba105bfefc id3v2: fix panic on invalid encoding of UTF-16 text 2018-02-19 18:01:22 +11:00
David Howden
d2206af145 mp4: fix panic on invalid encoding 2018-02-17 13:07:03 +11:00
David Howden
d449289c5e vorbis: fix panic on invalid encoding
Fixes #33
2018-02-07 18:37:07 +11:00
David Howden
1582ebc2a4 mp4: fix panic on invalid encoding
Fixes #32
2018-02-07 18:36:47 +11:00
David Howden
737d3560dd mp4: fix panic on invalid encoding
Fixes #31
2018-02-07 18:36:17 +11:00
David Howden
3066d30077 Merge branch 'thraxil-master' 2017-10-22 22:23:05 +11:00
Anders Pearson
22a6715536
fix bug with invalid APIC mimetype
Return an error if the mimetype can't be decoded rather than
panicking. See #28.
2017-10-22 11:42:29 +01:00
David Howden
e24fc33f60 Fix Format and FileType enumerations, and incorrect Format() for OGG. 2017-09-14 08:55:56 +10:00
David Howden
5e368ba94d Fix parsing of year in ID3v2.4
Fixes #27
2017-09-14 08:43:05 +10:00
David Howden
b45cd4d440 Update README.md
Use console lang for console output.
2017-08-01 22:29:01 +10:00
David Howden
9edd38ca5d Update README to set language on code snippets. 2017-01-29 10:14:22 +11:00
David Howden
0b712361d3 Merge branch 'upperstream-id3v1-track-and-comment' 2016-07-17 09:10:21 +10:00
upperstream
29306b7487 Move ID3v1 test data under internal directory
* A relative path import is not used
* Applications cannot access test data any longer
2016-07-17 08:16:53 +10:00
upperstream
f16224df21 Add generated source file containing test data. 2016-07-17 08:16:53 +10:00
upperstream
abfb4860c4 Fix: metadataID3v1 did not set the value for "comment" key unless the tag is ID3v1.1. 2016-07-17 08:16:53 +10:00
upperstream
ae005145bc Fix: Track() for ID3v1.1 picked a wrong byte for the track number delimeter in
the comment field.
This results in neither the track number nor the comment being set properly.
2016-07-17 08:16:53 +10:00
upperstream
c119c3eeeb Add tests for ID3v1 and ID3v1.1. 2016-07-17 08:16:53 +10:00
David Howden
028d342425 Merge branch 'fallback-decode-iso-8859-1' 2016-07-11 12:51:03 -06:00
David Howden
9daeb83105 Update delimiter to fallback to ISO-8859-1. 2016-05-09 22:40:03 +10:00
David Howden
bfba4b35ab Updated text decoding to fallback to ISO-8859-1.
See #20 for more details.
2016-05-09 22:37:19 +10:00