Re: [Banshee-List] Cannot add specific .m4a files to library



Well, even though this is not a problem with Banshee itself, it's a
quite showstopper in my case.

I did some research in the specs and the taglib# code. I tracked the
problem down to the usage of hdlr boxes by Apple:

Some of the files I bought in the iTunes Store contain a second hdlr
box as child of a minf box. The type of this box is 'alis', which is
not recognized as a valid type by taglib. Because taglib decides on
the mediatype based on the handler of the childs of the stsd box,
which is defined after the 2nd/invalid occurence of the hdlr, the
media type is not detected properly. This seems to be Apples fault, as
ISO 14496-12 states that hdlr boxes are only valid in mdia or meta
boxes, but not in minf boxes. Further, valid types are 'vide', 'soun'
or 'hint' only. Maybe one should think about modifying the way the
media type is detected (I don't know if/how this is explained in the
standard, but other parser like AtomicParsley have no problem
processing such files). As a workaround, I created a patch that
prevents the propagation of the handler if there is already a handler
set and the new definition is neither of type video or audio.

This is the patch of TagLib/Mpeg4/FileParser.cs:

488a489
> 					IsoHandlerBox prevHandler = handler;
490,491c491,495
< 						header, handler) as
< 							IsoHandlerBox;
---
> 							header, handler) as
> 								IsoHandlerBox;
> 					if (prevHandler != null && (handler.HandlerType != BoxType.Soun && handler.HandlerType != BoxType.Vide)) {
> 						handler = prevHandler;
> 					}[/code]

This workaround makes Banshee usable again with tracks bought in the
iTunes store. Hope this may help someone until a fixed taglib# hits
the road. I posted this message in the taglib# forums too, but it
ain't approved yet.



On Mon, Aug 18, 2008 at 13:29, Yves Alter <altery ethz ch> wrote:
> No. I finally found the time to dig through the code and the problem
> is not Banshee but mpeg4 parsing in taglib#. The bug is already
> mentioned in their forum:
>
> http://forum.taglib-sharp.com/viewtopic.php?f=5&t=252
>
> I'm not sure if taglib# is still actively developed, though. Since the
> current release is from January, I compiled a snapshot of the
> codebase, which still has this problem.
>
>
> On Thu, Aug 7, 2008 at 14:37, thunderbirdje <thunderbirdje hotmail com> wrote:
>>
>> Same 'path'-problem as me? (see posting above...)
>>
>>
>> yaa wrote:
>>>
>>>
>>> Hi
>>>
>>> I'm using Banshee 1.2, which is a great release so far. A problem occurred
>>> while trying to add some specific .m4a files to the library: "File does
>>> not contain video or audio". Interestingly, the files play well in Banshee
>>> if they are loaded through Nautilus or File->Open Location... as well as
>>> in any other gstreamer based application.
>>> All the files are bought in the iTunes store and have stripped DRM. Other
>>> files that underwent the same process can be added to the library fine
>>> though. Any ideas what could be cause of the problem?
>>>
>>> Thanks
>>>
>>> Yves
>>>
>>
>> --
>> View this message in context: http://www.nabble.com/Cannot-add-specific-.m4a-files-to-library-tp18861138p18869472.html
>> Sent from the Banshee mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> Banshee-list mailing list
>> Banshee-list gnome org
>> http://mail.gnome.org/mailman/listinfo/banshee-list
>>
>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]