mono / taglib-sharp

Library for reading and writing metadata in media files
GNU Lesser General Public License v2.1
1.3k stars 312 forks source link

System.IndexOutOfRangeException: Index was outside the bounds of the array #270

Open DirtyNative opened 3 years ago

DirtyNative commented 3 years ago

I get an error when I try to load an mp3 file.

System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at TagLib.Id3v2.RelativeVolumeFrame.ParseFields(ByteVector data, Byte version)
   at TagLib.Id3v2.FrameFactory.CreateFrame(ByteVector data, File file, Int32& offset, Byte version, Boolean alreadyUnsynched)
   at TagLib.Id3v2.Tag.Parse(ByteVector data, File file, Int64 position, ReadStyle style)
   at TagLib.Id3v2.Tag.Read(File file, Int64 position, ReadStyle style)
   at TagLib.Id3v2.Tag..ctor(File file, Int64 position, ReadStyle style)
   at TagLib.NonContainer.StartTag.ReadTag(Int64& start, ReadStyle style)
   at TagLib.NonContainer.StartTag.Read(ReadStyle style)
   at TagLib.NonContainer.Tag.ReadStart(ReadStyle style)
   at TagLib.NonContainer.File.Read(ReadStyle propertiesStyle)
   at TagLib.NonContainer.File..ctor(IFileAbstraction abstraction, ReadStyle propertiesStyle)
   at TagLib.Mpeg.AudioFile..ctor(IFileAbstraction abstraction, ReadStyle propertiesStyle)   at TagLib.File.Create(IFileAbstraction abstraction, String mimetype, ReadStyle propertiesStyle)
   at TagLib.File.Create(String path, String mimetype, ReadStyle propertiesStyle)
   at TagLib.File.Create(String path)

This happens with several files (about 100 of 500 files).

Here are some test files: https://nextcloud.techvalley.de/index.php/s/cQALyL8AXnT9F8r https://nextcloud.techvalley.de/index.php/s/xNxHts5eQ2HZCY8 https://nextcloud.techvalley.de/index.php/s/6SKHkPK77Q5LDoG

These links will expire on 2021.09.22

Vasilich commented 3 years ago

pls put sample files with that error reproducible onto some hosting without expiration date. Mention, that this is an open source project, and developers can work on issues only when they have time.