MetadataBlockDataStreamInfo exception when bytes length is 0
Issue #253
resolved
I recently found a bug with weird .flac file.
If you read data length in this line, you sometimes get 0 bytes (in my case it is not the end of the metadata block).
When rawdata length is 0, then you have BufferUnderflowException in this line.
java.nio.BufferUnderflowException
at java.base/java.nio.Buffer.nextGetIndex(Buffer.java:634)
at java.base/java.nio.HeapByteBuffer.getShort(HeapByteBuffer.java:350)
at org.jaudiotagger.audio.flac.metadatablock.MetadataBlockDataStreamInfo.<init>(MetadataBlockDataStreamInfo.java:80)
at org.jaudiotagger.audio.flac.FlacInfoReader.read(FlacInfoReader.java:64)
at org.jaudiotagger.audio.flac.FlacFileReader.getEncodingInfo(FlacFileReader.java:42)
at org.jaudiotagger.audio.generic.AudioFileReader2.read(AudioFileReader2.java:63)
at org.jaudiotagger.audio.AudioFileIO.readFile(AudioFileIO.java:361)
at org.jaudiotagger.audio.AudioFileIO.read(AudioFileIO.java:197)
Comments (2)
-
repo owner -
repo owner - changed status to resolved
#253:Now throws more suitable CannotReadException - Log in to comment
So is it a valid Flac, perhaps you could email support@Jthink.net