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. Reproducible: Always Steps to Reproduce: 1. 2. 3. 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 softmmu" 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.