After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 658920 - Banshee can not read the aac tag which is create by faac
Banshee can not read the aac tag which is create by faac
Status: RESOLVED FIXED
Product: taglib-sharp
Classification: Other
Component: General
unspecified
Other Linux
: Normal major
: ---
Assigned To: taglib-sharp-maint
taglib-sharp-maint
Depends on:
Blocks:
 
 
Reported: 2011-09-13 13:53 UTC by hillwood
Modified: 2012-06-29 15:49 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
An aac file create by faac. (447.24 KB, audio/mp4)
2011-09-14 12:33 UTC, hillwood
Details

Description hillwood 2011-09-13 13:53:26 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.
Comment 1 Bertrand Lorentz 2011-09-13 16:51:33 UTC
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.
Comment 2 hillwood 2011-09-14 12:33:20 UTC
Created attachment 196489 [details]
An aac file create by faac.
Comment 3 Bertrand Lorentz 2011-09-14 17:22:17 UTC
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
Comment 4 Alan McGovern 2012-06-29 15:49:48 UTC
This has been fixed in git master.