When scanning certain mp3 files the playtime is read incorrectly. The playtime
is usually some extremely large positive or negative number. The problem seems
to be related to the encoding of the file, as grouped mp3s all seem to load
either correctly or incorrectly. As a result, seeking in the file either does
not work or fails with an error such as "Failed to seek to -26456:-43". The
songs still play correctly.
This problem has been produced on two different machines.
Steps to Reproduce:
Use Flags: USE="X alsa dvd opengl cups foomaticdb ppds usb gimpprint gimp xsane
mmx mozilla nsplugin browserplugin samba scanner sse usb xmms f77 kerberos tcltk
Cflags: CFLAGS="-march=pentium2 -Os -fforce-addr -fomit-frame-pointer
-funroll-loops -frerun-loop-opt -frerun-cse-after-loop -falign-functions=4"
Xmms Version xmms-1.2.10-r15
Created attachment 68417 [details]
mp3 that registers a length of 0:00
Downloaded from www.simpsoncrazy.com
that is a result of bad encoding. Most of that files don't even work with mpg123.
Reopen if you come with a solution for this.
Created attachment 72092 [details]
Script to repair flawed id3 tags
This is a little script to repair id3 tags. It preserves Artist, Title,
Comments, Album, Track, and Year.
I looked into it more, and it loooks like the files were encoded correctly, but
the length field in the id3 tag was way off. I wrote a small script that
recursively parses a directory and rewrites the id3 tags of all the mp3s it
finds. With the exception of one file so far, it seems to fix the problem
fairly well. It also erases a lot of cruft put into the mp3 by programs like
iTunes and MusicMatch Jukebox.