I have a playlist with 5000+ songs in it and whenever I try to jump to a song (by pressing J) and I start typing, xfmedia will do it until I typ a space then it just freezes.
I've tested it again and it doesn't seem to be the jumping to a file that freezes it. Whenever it can't read the duration of an mp3, it freezes and one core of my dualcore processor tops at 100%. So it think it's the same problem as bug #745
This is a backtrace when it freezes: #0 0x00002b87ef04046b in read () from /lib/libc.so.6 #1 0x00002b87eeff7372 in _IO_file_read () from /lib/libc.so.6 #2 0x00002b87eeff666b in _IO_file_underflow () from /lib/libc.so.6 #3 0x00002b87eeff7792 in _IO_file_xsputn () from /lib/libc.so.6 #4 0x00002b87eefed031 in fread () from /lib/libc.so.6 #5 0x00002b87eeb78684 in TagLib::File::readBlock () from /usr/lib/libtag.so.1 #6 0x00002b87eeb57207 in TagLib::MPEG::File::nextFrameOffset () from /usr/lib/libtag.so.1 #7 0x00002b87eeb57c2e in TagLib::MPEG::Properties::read () from /usr/lib/libtag.so.1 #8 0x00002b87eeb5808e in TagLib::MPEG::Properties::Properties () from /usr/lib/libtag.so.1 #9 0x00002b87eeb56a9b in TagLib::MPEG::File::read () from /usr/lib/libtag.so.1 #10 0x00002b87eeb56e15 in TagLib::MPEG::File::File () from /usr/lib/libtag.so.1 #11 0x00002b87eeb5550f in TagLib::FileRef::create () from /usr/lib/libtag.so.1 #12 0x000000000043533e in ?? () #13 0x00000000004157e4 in ?? () #14 0x000000000041af28 in ?? () #15 0x00002b87ee8c00e6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #16 0x00002b87ee8c1b08 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0 #17 0x00002b87ee8c1e6a in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #18 0x00002b87ec29bc51 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #19 0x0000000000415070 in ?? () #20 0x00002b87eefae136 in __libc_start_main () from /lib/libc.so.6 #21 0x00000000004129b9 in ?? () #22 0x00007fffbf1277b8 in ?? () #23 0x000000000000001c in ?? () #24 0x0000000000000001 in ?? () #25 0x00007fffbf128932 in ?? () #26 0x0000000000000000 in ?? ()
Actually I doubt this has anything to do with bug #745. What version of taglib do you have? Maybe it's a bug in taglib, though taglib doesn't have anything to do with getting the duration of a file. Did you leave it alone for a while to see if it would recover? It's possible that xfmedia is queueing a lot of requests to fetch metadata about different files, and it's just taking a long time. I thought I had limited that in some way, though I don't really remember.
I left it running for 15 minutes. I'm using taglib version 1.4 But I don't think it's really a bug. Because sometimes it can't read the time and it displays ??:?? and it keeps running fine. I think the mp3's may have been corrupted however xmms can play them just fine.
It should at least be able to estimate the time based on the avg bitrate and file size. Not sure if xine-lib tries to do that though. Does the freeze ever happen when you don't have any of these 'broken' mp3 files in the playlist?
I deleted the broken mp3's that I found so far and now it's running fine but it's possible there are still left in the playlist. Should I attach an mp3 where I had problems with? However I think that's not 100% legal.
I doubt it's legal at all, but it could potentially be very helpful. If it's of a reasonable size (say, less than 10MB), feel free to email it to me if you don't mind.
I'm getting the same problem you're getting, but it's not something I can fix. Perhaps report this to the taglib developers? Otherwise... fix your broken files ^_~.