GNOME Bugzilla – Bug 658920
Banshee can not read the aac tag which is create by faac
Last modified: 2012-06-29 15:49:48 UTC
Banshee 2.0.X and 2.1.X can not read the aac tag which is create by faac(1.28). I use the command "faac -q 350 -w --artist "F.I.R." --title 我超越 --genre Rock --album 亚特兰提斯 --track 4/10 --disc 1/1 --year 2011 --cover-art thumb.jpg output04.wav" to create this tag , many other player can read it ,such as Totem , VLC , Rhythmbox, iTunes, ttplayer, Amarok and android music player. Only Banshee can not read it. I try to use other player to rewrite the tag , but Banshee still can not read. I update this files below.
Thank you for your bug report. Could you attach the .aac file here ? You can probably create it by converting a very small .wav file, as I guess the problem doesn't depend on the wav file itself.
Created attachment 196489 [details] An aac file create by faac.
It seems this a problem with taglib-sharp, the library Banshee uses to read tags from music files. When I try to read the tag from the file provided, I get the following error. I confirm that Totem can read the tags. mono --debug ReadFromUri.exe output04.m4a output04.m4a Unhandled Exception: System.ArgumentException: Length must be non-negative Parameter name: length at TagLib.File.ReadBlock (Int32 length) [0x00063] in /home/lorentz/Projets/taglib-sharp/src/TagLib/File.cs:680 at TagLib.Mpeg4.AppleAdditionalInfoBox..ctor (BoxHeader header, TagLib.File file, TagLib.Mpeg4.IsoHandlerBox handler) [0x00009] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs:70 at TagLib.Mpeg4.BoxFactory.CreateBox (TagLib.File file, BoxHeader header, BoxHeader parent, TagLib.Mpeg4.IsoHandlerBox handler, Int32 index) [0x0021a] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/BoxFactory.cs:123 at TagLib.Mpeg4.BoxFactory.CreateBox (TagLib.File file, Int64 position, BoxHeader parent, TagLib.Mpeg4.IsoHandlerBox handler, Int32 index) [0x00009] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/BoxFactory.cs:170 at TagLib.Mpeg4.Box.LoadChildren (TagLib.File file) [0x00039] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/Box.cs:471 at TagLib.Mpeg4.IsoUserDataBox..ctor (BoxHeader header, TagLib.File file, TagLib.Mpeg4.IsoHandlerBox handler) [0x00019] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs:81 at TagLib.Mpeg4.BoxFactory.CreateBox (TagLib.File file, BoxHeader header, BoxHeader parent, TagLib.Mpeg4.IsoHandlerBox handler, Int32 index) [0x00164] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/BoxFactory.cs:107 at TagLib.Mpeg4.BoxFactory.CreateBox (TagLib.File file, BoxHeader header, TagLib.Mpeg4.IsoHandlerBox handler) [0x00000] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/BoxFactory.cs:241 at TagLib.Mpeg4.FileParser.ParseTagAndProperties (Int64 start, Int64 end, TagLib.Mpeg4.IsoHandlerBox handler, System.Collections.Generic.List`1 parents) [0x00157] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/FileParser.cs:517 at TagLib.Mpeg4.FileParser.ParseTagAndProperties (Int64 start, Int64 end, TagLib.Mpeg4.IsoHandlerBox handler, System.Collections.Generic.List`1 parents) [0x00093] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/FileParser.cs:499 at TagLib.Mpeg4.FileParser.ParseTagAndProperties (Int64 start, Int64 end, TagLib.Mpeg4.IsoHandlerBox handler, System.Collections.Generic.List`1 parents) [0x0002d] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/FileParser.cs:491 at TagLib.Mpeg4.FileParser.ParseTagAndProperties () [0x00006] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/FileParser.cs:334 at TagLib.Mpeg4.File.Read (ReadStyle propertiesStyle) [0x0002a] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/File.cs:385 at TagLib.Mpeg4.File..ctor (IFileAbstraction abstraction, ReadStyle propertiesStyle) [0x00012] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/File.cs:135 at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentException: Length must be non-negative Parameter name: length at TagLib.File.ReadBlock (Int32 length) [0x00063] in /home/lorentz/Projets/taglib-sharp/src/TagLib/File.cs:680 at TagLib.Mpeg4.AppleAdditionalInfoBox..ctor (BoxHeader header, TagLib.File file, TagLib.Mpeg4.IsoHandlerBox handler) [0x00009] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs:70 at TagLib.Mpeg4.BoxFactory.CreateBox (TagLib.File file, BoxHeader header, BoxHeader parent, TagLib.Mpeg4.IsoHandlerBox handler, Int32 index) [0x0021a] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/BoxFactory.cs:123 at TagLib.Mpeg4.BoxFactory.CreateBox (TagLib.File file, Int64 position, BoxHeader parent, TagLib.Mpeg4.IsoHandlerBox handler, Int32 index) [0x00009] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/BoxFactory.cs:170 at TagLib.Mpeg4.Box.LoadChildren (TagLib.File file) [0x00039] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/Box.cs:471 at TagLib.Mpeg4.IsoUserDataBox..ctor (BoxHeader header, TagLib.File file, TagLib.Mpeg4.IsoHandlerBox handler) [0x00019] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs:81 at TagLib.Mpeg4.BoxFactory.CreateBox (TagLib.File file, BoxHeader header, BoxHeader parent, TagLib.Mpeg4.IsoHandlerBox handler, Int32 index) [0x00164] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/BoxFactory.cs:107 at TagLib.Mpeg4.BoxFactory.CreateBox (TagLib.File file, BoxHeader header, TagLib.Mpeg4.IsoHandlerBox handler) [0x00000] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/BoxFactory.cs:241 at TagLib.Mpeg4.FileParser.ParseTagAndProperties (Int64 start, Int64 end, TagLib.Mpeg4.IsoHandlerBox handler, System.Collections.Generic.List`1 parents) [0x00157] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/FileParser.cs:517 at TagLib.Mpeg4.FileParser.ParseTagAndProperties (Int64 start, Int64 end, TagLib.Mpeg4.IsoHandlerBox handler, System.Collections.Generic.List`1 parents) [0x00093] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/FileParser.cs:499 at TagLib.Mpeg4.FileParser.ParseTagAndProperties (Int64 start, Int64 end, TagLib.Mpeg4.IsoHandlerBox handler, System.Collections.Generic.List`1 parents) [0x0002d] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/FileParser.cs:491 at TagLib.Mpeg4.FileParser.ParseTagAndProperties () [0x00006] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/FileParser.cs:334 at TagLib.Mpeg4.File.Read (ReadStyle propertiesStyle) [0x0002a] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/File.cs:385 at TagLib.Mpeg4.File..ctor (IFileAbstraction abstraction, ReadStyle propertiesStyle) [0x00012] in /home/lorentz/Projets/taglib-sharp/src/TagLib/Mpeg4/File.cs:135 at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
This has been fixed in git master.