GNOME Bugzilla – Bug 158017
Rhythmbox stalls importing folders with JPEG images
Last modified: 2004-12-22 21:47:04 UTC
A number of my music folders have cover images, as JPEG files. When importing, rhythmbox tries to import these and on some of them stalls: although the UI is responsive, the "Loading songs..." progressbar keeps going back and forth; and when I try to exit rhythmbox the UI stalls. It seems as if the importing thread is stalling. With "-d" I get something like [0x83386e0] [rb_metadata_load] rb-metadata-gst.c:469 (01:57:41): loading metadata for uri: file:///home/ed/foo/Pressure%20Drop/Tread/cover.jpg [0x83386e0] [rb_metadata_gst_typefind_cb] rb-metadata-gst.c:422 (01:57:41): found type image/jpeg [0x80feb40] [rb_shell_player_state_changed_cb] rb-shell-player.c:1435 (02:22:50): state changed (etc.) For covers that do not cause a stall I get something like: [0x83386f8] [rb_metadata_load] rb-metadata-gst.c:469 (02:21:28): loading metadata for uri: file:///home/ed/Music/The%20Divine%20Comedy/Fin%20De%20Si%E8cle/cover.jpg [0x83386f8] [rb_metadata_gst_typefind_cb] rb-metadata-gst.c:422 (02:21:28): found type image/jpeg [0x83386f8] [rb_metadata_gst_error_cb] rb-metadata-gst.c:333 (02:21:28): caught error: There is no element present to handle the stream's mime type image/jpeg. [0x83386f8] [rb_metadata_load] rb-metadata-gst.c:561 (02:21:28): ignoring file file:///home/ed/Music/The%20Divine%20Comedy/Fin%20De%20Si%E8cle/cover.jpg with detected type image/jpeg [0x83386f8] [rhythmdb_add_song] rhythmdb.c:945 (02:21:28): unsupported file You should be able to download the images from http://catmur.ath.cx/~ed/breaks-rb/ - cover*.jpg break import but ok.jpg does not. I'm using gstreamer 0.8.7, btw.
Ah. $ gst-launch-0.8 gnomevfssrc location=public_html/breaks-rb/ok.jpg ! typefind ! spider ! application/x-gst-tags ! fakesink RUNNING pipeline ... ERROR: from element /pipeline0/spider0: There is no element present to handle the stream's mime type image/jpeg. Execution ended after 2 iterations (sum 5779000 ns, average 2889500 ns, min 1252000 ns, max 4527000 ns). But $ gst-launch-0.8 gnomevfssrc location=public_html/breaks-rb/cover.jpg ! typefind ! spider ! application/x-gst-tags ! fakesink RUNNING pipeline ... (hangs) A gstreamer bug, then: if I truncate the pipeline to end at typefind it still stalls, so the bug is in the typefind plugin.
Oh, and $ gst-launch-0.8 gnomevfssrc location=public_html/breaks-rb/cover.jpg succeeds, so the file is at least readable. Anyway, I've upstreamed the issue into a gstreamer bug.
I've marked bug 158018 fixed, because the underlying bug was fixed shortly after gstreamer-0.8.7 was released. I'll leave this open until gstreamer-0.8.8 comes out, unless you think it should be closed now. Btw, it seems the problem was simply the small size of the cover images.
Marking this bug as a duplicate and closing it, I generally close bugs as soon as they are fixed in CVS. Thanks for the great investigation ;) *** This bug has been marked as a duplicate of 158018 ***