metadata-extractor icon indicating copy to clipboard operation
metadata-extractor copied to clipboard

Error while extracting MP3 metadata: Frequency

Open Marinek opened this issue 3 years ago • 1 comments

Hi ;)

I have an error while parsing mp3 metadata:

java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3 at com.drew.metadata.mp3.Mp3Reader.extract(Mp3Reader.java:99) ~[metadata-extractor-2.16.0.jar:2.16.0] at com.drew.imaging.mp3.Mp3MetadataReader.readMetadata(Mp3MetadataReader.java:58) ~[metadata-extractor-2.16.0.jar:2.16.0] at com.drew.imaging.ImageMetadataReader.readMetadata(ImageMetadataReader.java:179) ~[metadata-extractor-2.16.0.jar:2.16.0] at com.drew.imaging.ImageMetadataReader.readMetadata(ImageMetadataReader.java:124) ~[metadata-extractor-2.16.0.jar:2.16.0] at com.drew.imaging.ImageMetadataReader.readMetadata(ImageMetadataReader.java:204) ~[metadata-extractor-2.16.0.jar:2.16.0] at pici.scanner.PathScanner$1.getExifData(PathScanner.java:119) ~[main/:na]

Seems that there is a 4th? frequency entry, that can't be parsed. I'm currently searching for this specific mp3 file.

Marinek avatar Sep 04 '21 22:09 Marinek

Can you share a file that reproduces this issue? It'll be hard to reliably debug this otherwise.

I suspect this code is causing it, and should be made more defensive.

https://github.com/drewnoakes/metadata-extractor/blob/788c4257cb0ed5c7e644315c019fff6cdb5b7a37/Source/com/drew/metadata/mp3/Mp3Reader.java#L90-L101

With an actual file it'd be easier to work out whether there's an improvement to the library to be made here, so we can avoid throwing the value/directory away in this case.

drewnoakes avatar Sep 05 '21 23:09 drewnoakes