Trying to solve bug 240409
Abhinandan Ramprasath
abhiin1947 at gmail.com
Tue Feb 26 17:43:50 UTC 2013
On Mon, Feb 25, 2013 at 10:21 AM, Sergey Ivanov <123kash at gmail.com> wrote:
> Hi.
> Actually you can get much more data using TagLib. Fields mentioned by you
> can be obtained using unified TagLib API, It works for all metadata
> containers. You you need to get some extra data, you have to dig It by
> yourself. Take a look on shared/tag_helpers/MP4TagHelper.cpp file in amarok
> repository.
>
I didn't google how does iTunes store chapters, but I'm pretty sure that
> you can grab It using TagLib. ;)
>
Thanks a lot for your reply. It took me a while to search the "atom"
structure of an mp4 file, but I've finally found it! :D Will implement the
patch using TagLib and submit it soon. :)
>
> 2013/2/23 Abhinandan Ramprasath <abhiin1947 at gmail.com>
>
>> Hi,
>>
>> After going through the source of TagLib, I can confidently say it
>> currently does not support chapters in MP4 or M4A files. The information u
>> can get out of the library includes title, album, artist, comment, year,
>> track, genre. This information is directly available in the header of the
>> MP4 file. The problem with decoding the chapter markers is that it is not
>> stored in the header ( apple's patented it apparently ) or rather,
>> scattered around in the file. I am still hoping for some positive reply
>> from the TagLib Developers ( they haven't replied yet ).
>>
>> Will let you know of any developments.
>>
>>
>> On Thu, Feb 21, 2013 at 8:57 PM, Abhinandan Ramprasath <
>> abhiin1947 at gmail.com> wrote:
>>
>>>
>>>
>>> On Thu, Feb 21, 2013 at 4:17 AM, Matěj Laitl <matej at laitl.cz> wrote:
>>>
>>>> On 19. 2. 2013 Abhinandan Ramprasath wrote:
>>>> > This is what I've got so far,
>>>>
>>>> Nice research!
>>>>
>>>> > 1) mp4v2-2.0.0 supports chapters in mp4 files(mentioned on comment
>>>> 2). The
>>>> > format for chapter storage is specified between lines 2321 and 2375
>>>> under
>>>> > src/mp4file.cpp (
>>>> >
>>>> http://code.google.com/p/mp4v2/downloads/detail?name=mp4v2-2.0.0.tar.bz2) .
>>>>
>>>> Okay.
>>>>
>>>> > 2) comment 2 in https://bugs.kde.org/show_bug.cgi?id=240409 mentions
>>>> that
>>>> > the dependency was removed. Is it safe for me to add it back?
>>>>
>>>> We'd prefer not to, certainly not as a mandatory dependency.
>>>>
>>>> > 3) I cross checked the format of chapter storage with a simple cpp
>>>> program
>>>> > I wrote and got the titles of all chapters as output. But that was
>>>> just
>>>> > using a regex and I'm not too sure that would be accepted as a
>>>> solution.
>>>>
>>>> RegExes are used all over Amarok, so if this is not a moving target
>>>> (e.g. if
>>>> the strings you match don't change with library versions), it should be
>>>> fine,
>>>> but see below.
>>>>
>>> I'm not sure if it is a moving target. Will read about it and get back.
>>>
>>>>
>>>> > 4) An Issue was filed for TagLib
>>>> > https://github.com/taglib/taglib/issues/81 asking
>>>> > to expand support for chapters in mp3 files, which sadly, hasn't been
>>>> > solved yet. Unfortunately, I wasn't able to find anything similar for
>>>> mp4.
>>>>
>>>> You fan file one, then! ;) Even better would be creating a pull request
>>>> for
>>>> TagLib that would add support for reading chapters (ideally both from
>>>> mp3 and
>>>> mp4 files). Given that mp4v2 is under MPL 1.1 and TagLib is under MPL
>>>> 1.1 +
>>>> LGPL 2.1, it may be possible to copy & adapt code from mp4v2 to TagLib
>>>> directly, but please consult this first with TagLib developers [1]. (if
>>>> both
>>>> mp4v2 and TagLib where updated to the newest MPL 2.0, it would be
>>>> definitely
>>>> possible)
>>>>
>>>
>>> Ya, trying to get the feature working on Taglib was the next thing I was
>>> going to do. I will try to find more information about it and get back.
>>>
>>>>
>>>> Let's defer the decision how to represent this in Amarok until
>>>> underlying
>>>> libraries are ready, I must say that the idea to use MultiTrack may end
>>>> up to
>>>> be the good way, but please let us think about this more.
>>>>
>>> I think Multitrack is how QuickTime does it( or I have a really old
>>> version ) and it looks pretty good.
>>>
>>> P.S sorry for submitting the patch, I was almost done with it when I
>>> read the email
>>>
>>>> [1] https://mail.kde.org/mailman/listinfo/taglib-devel
>>>>
>>>> Matěj
>>>>
>>>
>>>
>>
>> _______________________________________________
>> Amarok-devel mailing list
>> Amarok-devel at kde.org
>> https://mail.kde.org/mailman/listinfo/amarok-devel
>>
>>
>
>
> --
> Sergey Ivanov
>
> _______________________________________________
> Amarok-devel mailing list
> Amarok-devel at kde.org
> https://mail.kde.org/mailman/listinfo/amarok-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok-devel/attachments/20130226/2e967c79/attachment.html>
More information about the Amarok-devel
mailing list