GNOME Bugzilla – Bug 662812
Some music files don't get imported - no error shown
Last modified: 2011-10-29 13:30:47 UTC
I found 5 music files that don't get imported by Rhythmbox. They do however play with Audacious and VLC. I have also tried to edit the metadata with both Easytag and Audacious, making minor changes. This didn't make any difference, Rhythmbox still doesn't import them. Annoyingly Rhythmbox doesn't show any import error for these files. Another test, I did was to try importing the files in a clean profile, where rhythmbox hadn't run before. This didn't help either. I did notice that the files were listed in rhythmdb.xml as follows (replaced folder_name and file_name, the rest is verbatim copy from one of the entries in rhythmdb.xml): <entry type="ignore"> <title></title> <genre></genre> <artist></artist> <album></album> <location>file:///home/test/Music/folder_name/file_name.mp3</location> <mtime>1319641652</mtime> <date>0</date> <mimetype>application/octet-stream</mimetype> </entry> While successfully loaded songs, start with <entry type="song"> and show metadata for title, genre, artist, etc... between the relevant tags. I presume that due to copyright issues I can't attach one of these music files to this ticket. If someone is interested in the files that cause this, drop me an e-mail. Running Rhythmbox 0.13.3 on Fedora 14, kernel: 2.6.35.14-97.fc14.x86_64 and Gnome 2.32.0.
What output do you get from '/usr/libexec/rhythmbox-metadata --load file:///path/to/file.mp3'?
I get this for each file (<filename>): (rhythmbox-metadata:13950): GStreamer-CRITICAL **: gst_element_make_from_uri: assertion `gst_uri_is_valid (uri)' failed Error loading metadata from <filename>.mp3: Failed to create a source element; check your installation has audio: 0 has video: 0 has other: 0 There's one other problem, it also shows this error for the files that Rhythmbox /does/ load!
did you pass it a URI or just a path? you need to give it a proper URI.
Oops, I did that wrong. Here's the correct output for the files that go wrong: Error loading metadata from file:///home/test/Music/<path>/<file>.mp3: Internal data flow error. has audio: 0 has video: 1 has other: 0 missing plugins: gstreamer|0.10|rhythmbox-metadata|H.264 decoder|decoder-video/x-h264 (H.264 decoder) And for the files that work: mimetype: application/x-id3 title: <track name> artist: <artist name> album: <album name> track-number: 2 album-disc-number: 1 duration: 597 bitrate: 320 has audio: 1 has video: 0 has other: 0 This puzzles me even more, how can the output say there is no audio when Audacious and VLC play the music just fine? Also I am not aware of any video in these files. Is it possible that it is erroneously detecting video instead of audio?
Interesting. Run this: 'GST_DEBUG_NO_COLOR=1 GST_DEBUG=*:4 /usr/libexec/rhythmbox --load file:///path/to/file.mp3 2>/tmp/662812' for one of the misbehaving files and attach the file /tmp/662812 here.
/usr/libexec/rhythmbox doesn't exist, I tried with /usr/bin/rhythmbox which gave me this error: Unknown option --load Run '/usr/bin/rhythmbox --help' to see a full list of available command line options. However it did place this in the output file: 0:00:00.000106676 14585 0x1c2c170 INFO GST_INIT gst.c:615:init_pre: Initializing GStreamer Core Library vers ion 0.10.31 0:00:00.000204756 14585 0x1c2c170 INFO GST_INIT gst.c:616:init_pre: Using library installed in /usr/lib64 0:00:00.000229662 14585 0x1c2c170 INFO GST_INIT gst.c:626:init_pre: Linux marvin.galaxy 2.6.35.14-97.fc14.x8 6_64 #1 SMP Sat Sep 17 00:15:37 UTC 2011 x86_64
er, I meant rhythmbox-metadata, as above
OK that worked. However bugzilla didn't allow me to upload the file here, as it's 1431 kb while non-patch attachments are apparently limited to 1000 kb. So I uploaded it elsewhere: http://www.7is7.com/devl/rhythmbox/662812.txt Hope you can see something in there. I won't be online much longer as it's 3 a.m. here, I am tired and need to go to sleep. I'll check back tomorrow of course. Thanks for all your help so far Jonathan.
Jonathan, I sent an e-mail to your bugzilla e-mail address.
Created attachment 200102 [details] First 99k of a file that fails to load
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of bug 656018 ***
Thanks Jonathan for finding that bug. I'd point out though that there are two parts to this bug: 1. The misdetection (which bug656018 resolved) 2. The failure of Rhythmbox to list such files in the import error section of the librrary (instead it ignores them, as we can see from the rhythmbox database). Obviously if the misdetection is resolved point 2 would seem moot for this particular case, but I still do think that for the future it would be a good thing for such cases to to be listed in the import error section. Although I suppose that the ignore mode is to ignore all files that are detected as something else (like text files, pdf files, image files), so it is simply not desirable to list all such files in the import error section. Maybe the fact that a file extension is mp3 (or some other music format) but is detected as something other than music could be a reason to list them in the import error section. A user clearly intents to add a music file if the extension is that of a music file, and should probably be notified of that error.
I'm really not interested in anything that involves interpreting file extensions. They're just not reliable, and it leads to inconsistent behaviour. I think bugs that cause audio files to look like video files are not likely to be common enough to warrant any special treatment.
I think it's more user friendly if you tell the user that the file that he is trying to import isn't what he thinks it is (or is misdetected). As opposed to failing silently as happens now. How do I find out what other files in my library are not functional or misdetected? (I did a scan with find on my library, but that's not something an average user can or will do, and it's also not something anyone will do regularly). A listing in the import error section of the Rhythmbox library would have saved us some time trying to figure out what went wrong.