ogg corruption

Bart scarfboy at gmail.com
Tue Mar 4 02:00:08 UTC 2008


On Mon, Mar 3, 2008 at 9:19 PM, Jeff Mitchell <kde-dev at emailgoeshere.com> wrote:
>
> Bart wrote:
>  > Hi all.
>  >
>  > Where do I go to discuss Amarok bugs? I just found that tagging my
>  > oggs with it corrupts the metadata, and makes these file unplayable...
>  > I'd like to know where to discuss the details, since I don't even know
>  > what is doing the actual tagging yet.
>  >
>
>  Tagging is done via the tagging library Taglib.  You didn't include any
>  information about what version of Amarok, what distribution, etc.  Many
>  distributions are still carrying the original vanilla Taglib 1.4
>  release, which has known issues -- many other distributions have
>  packaged SVN snapshots of Taglib or the recently-released version 1.5.
>
>  I would encourage you to write back with much more detailed
>  information.  Versions of everything, exactly what you did, what the
>  corruption entails, and so on.  We may end up forwarding you to the
>  taglib list or may have some other suggestions for you.

Gentoo, with amarok 1.4.8 and, indeed, taglib 1.4-r1.

I produced a simple set of before and after (ogginfo gives details,
ogginfo throws a fit, respectively), where the one action I did in
amarok is changing the album name (though I assume any type
of tag edit would do it)
I  think also have oggs for which this did not happen. Anyway.


Via binary diff I know that the only changes in the file were made to
the second Ogg page, the one that stores the vorbis stream
metadata and comments.

I just wrote a simple Ogg header decoder that suggests that taglib
changed the data in this page but didn't properly rewrite the header.
I figure this because:

- The header's segment table would indicate that the page ends
  before it actually does. The table is the same as it was in the before
  file, and the page size you would calculated from that table *is*
  exactly right for that file.

- The checksum is bad for only that single new page - though it not
  the same checksum as in the before file, so the header wasn't
  just copied verbatim.


--Bart



More information about the Amarok mailing list