GNOME Bugzilla – Bug 631233
Transferring songs from iPod to local drive does not copy extension (ie, .mp3), confusing some portable devices
Last modified: 2010-10-26 11:54:39 UTC
"I used Rhythmbox to transfer the contents of my iPod to my local drive, by dragging all songs to the Music icon. The files transfer well, and Ubuntu is smart enough to know what kind of file they are. However, as the extension (.mp3, .ogg etc) is not copied over, when transferring songs to another device (in this case, an HTC Desire, also using rhythmbox), the device is confused by a lack of extension." originally reported at: https://bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/654105
Thanks for taking the time to report this bug. This particular bug has already been reported into our bug tracking system, but we are happy to tell you that the problem has already been fixed. It should be solved in the next software version. You may want to check for a software upgrade. *** This bug has been marked as a duplicate of bug 625054 ***
I pulled the commit that fixed bug 625054 and build it in my ppa and asked the reporter to test and he says its not fixed. this bug might be a little different from the one its marked duplicate of. bug 625054 talks about rhythmbox not copying the extension to the music player but the reporter, who is already using rhythmbox 0.13.1 says "I've tried rhythmbox from your ppa and the problem is still not solved. Browsing the iPod with Nautilus displays the .mp3 extension, however these are not copied onto the local drive. I do not have the lame decoder package installed."
Please provide output from 'rhythmbox -D encoder' showing this problem occurring.
I'm experiencing the same bug. Transferring music from my library to my android results in the mp3 file's extension being truncated. here's the output from the debug mode orange@orange-pc:~$ rhythmbox -D encoder (rhythmbox:8341): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed ** Message: pygobject_register_sinkfunc is deprecated (GstObject) (rhythmbox:8341): Rhythmbox-DEBUG: Received SaveYourself(SmSaveLocal, !Shutdown, SmInteractStyleNone, !Fast) in state idle (rhythmbox:8341): Rhythmbox-DEBUG: Setting initial properties (rhythmbox:8341): Rhythmbox-DEBUG: Sending SaveYourselfDone(True) for initial SaveYourself (rhythmbox:8341): Rhythmbox-DEBUG: Received SaveComplete message in state save-yourself-done (rhythmbox:8341): GLib-CRITICAL **: g_str_has_suffix: assertion `str != NULL' failed (19:54:27) [0xb33f60] [rb_encoder_gst_get_media_type] rb-encoder-gst.c:1176: found source media type audio/mpeg in destination type list (19:54:27) [0xb33f60] [get_profile_from_media_type] rb-encoder-gst.c:873: Looking up profile for media type 'audio/mpeg' (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:752: desired caps are: audio/mpeg, mpegversion=(int)1, layer=(int)3 (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:756: element caps are: audio/x-flac (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:760: intersect caps are: EMPTY (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:752: desired caps are: audio/mpeg, mpegversion=(int)1, layer=(int)3 (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:756: element caps are: audio/x-vorbis (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:760: intersect caps are: EMPTY (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:752: desired caps are: audio/mpeg, mpegversion=(int)1, layer=(int)3 (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:756: element caps are: audio/mpeg, mpegversion=(int)1, layer=(int)2, rate=(int){ 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ] (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:760: intersect caps are: EMPTY (19:54:27) [0xb33f60] [profile_bin_find_encoder] rb-encoder-gst.c:813: unable to find encoder element (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:752: desired caps are: audio/mpeg, mpegversion=(int)1, layer=(int)3 (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:756: element caps are: audio/x-speex, rate=(int)[ 6000, 48000 ], channels=(int)[ 1, 2 ] (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:760: intersect caps are: EMPTY (19:54:27) [0xb33f60] [rb_encoder_gst_get_media_type] rb-encoder-gst.c:1176: found source media type audio/mpeg in destination type list (19:54:27) [0xb33f60] [get_profile_from_media_type] rb-encoder-gst.c:873: Looking up profile for media type 'audio/mpeg' (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:752: desired caps are: audio/mpeg, mpegversion=(int)1, layer=(int)3 (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:756: element caps are: audio/x-flac (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:760: intersect caps are: EMPTY (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:752: desired caps are: audio/mpeg, mpegversion=(int)1, layer=(int)3 (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:756: element caps are: audio/x-vorbis (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:760: intersect caps are: EMPTY (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:752: desired caps are: audio/mpeg, mpegversion=(int)1, layer=(int)3 (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:756: element caps are: audio/mpeg, mpegversion=(int)1, layer=(int)2, rate=(int){ 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ] (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:760: intersect caps are: EMPTY (19:54:27) [0xb33f60] [profile_bin_find_encoder] rb-encoder-gst.c:813: unable to find encoder element (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:752: desired caps are: audio/mpeg, mpegversion=(int)1, layer=(int)3 (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:756: element caps are: audio/x-speex, rate=(int)[ 6000, 48000 ], channels=(int)[ 1, 2 ] (19:54:27) [0xb33f60] [encoder_match_media_type] rb-encoder-gst.c:760: intersect caps are: EMPTY (19:54:27) [0xb33f60] [rb_encoder_gst_encode] rb-encoder-gst.c:1108: source file already has required media type audio/mpeg, copying rather than transcoding (19:54:27) [0xb33f60] [attach_output_pipeline] rb-encoder-gst.c:658: attempting to open output file file:///media/9977-3E78/Music/Dungen/Lexi%20Mix/02%20-%20Panda. (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type state-changed (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type state-changed (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type state-changed (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type stream-status (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type state-changed (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type stream-status (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type state-changed (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type state-changed (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type async-done (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type new-clock (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type state-changed (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type state-changed (19:54:27) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:350: message of type state-changed (19:54:28) [0xb33f60] [bus_watch_cb] rb-encoder-gst.c:333: received EOS, closing output stream (19:54:28) [0xb33f60] [output_close_cb] rb-encoder-gst.c:286: finished closing output stream (19:54:28) [0xb33f60] [rb_encoder_gst_emit_completed] rb-encoder-gst.c:273: destination file size: 8442337 (19:54:28) [0xb33f60] [encoder_completed_cb] rb-track-transfer-batch.c:347: encoder finished (size 8442337)
I'm only interested in output from 0.13.1 + commit 65f1adb (or git master, or the 0.13.2 prerelease).