After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 567524 - MTP device + auto-converting FLAC to M4A = weird failures
MTP device + auto-converting FLAC to M4A = weird failures
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: Removable Media
0.11.x
Other All
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-01-12 17:50 UTC by Martijn van de Streek
Modified: 2009-01-28 06:50 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Martijn van de Streek 2009-01-12 17:50:12 UTC
Please describe the problem:
I have a Nokia N78, and I'm using Ubuntu Jaunty (rhythmbox 0.11.6svn20090108-0ubuntu1), and since the last upgrade, MTP uploads to my phone are .m4a instead of .mp3, they're uploaded into the wrong directory (E:\ instead of E:\Music on the device), and the files don't play.

Steps to reproduce:
(0. Enable MTP support, use libmtp 0.3.5ish)
1. Connect Nokia N78 phone
2. Drag FLAC file to phone


Actual results:
M4A file ends up in the root of "E:" on the phone; if I move it to the right location manually, it doesn't play.

The phone can read metadata like song length and and tags, but tags are "double" ("title=Some Title, Some Title"), these might be different bugs. I'll file them separately if necessary.

Expected results:
M4A file ends up in E:\Music, and plays properly.

Does this happen every time?
Yes.
Every file that's transcoded to .m4a gets uploaded to the wrong directory, and won't play on the phone (rb and totem will play the m4a file fine though).

Other information:
If I disable the AAC profile (/system/gstreamer/0.10/audio/profiles/aac/active = false), rb will use mp3, which will play correctly, and which gets uploaded into the right directory (E:\Music) (!)

A full MTP profile for my phone can be found here: https://facecrime.net/~martijn/mtp-detect.txt
Comment 1 Jonathan Matthew 2009-01-13 04:07:35 UTC
There are two bugs here, it seems:
- rb is using the wrong filetype for aac/m4a files it uploads to the device, so libmtp doesn't know to put them in the device's music directory
- the aac/m4a profile is producing files that the device cannot play

and maybe a third:
- rb prefers aac to mp3 when mp3 is far more likely to work
Comment 2 Jonathan Matthew 2009-01-28 06:50:49 UTC
2009-01-28  Jonathan Matthew  <jonathan@d14n.org>

        * plugins/mtpdevice/rb-mtp-plugin.c:
        (rb_mtp_plugin_device_removed):
        * plugins/mtpdevice/rb-mtp-source.c: (report_libmtp_errors),
        (rb_mtp_source_class_init), (rb_mtp_source_name_changed_cb),
        (rb_mtp_source_init), (rb_mtp_source_constructor),
        (rb_mtp_source_set_property), (rb_mtp_source_get_property),
        (rb_mtp_source_dispose), (rb_mtp_source_finalize),
        (impl_get_browser_key), (impl_get_paned_key), (rb_mtp_source_new),
        (load_mtp_db_idle_cb), (rb_mtp_source_load_tracks),
        (mimetype_to_filetype), (impl_delete),
        (rb_mtp_source_transfer_track_to_disk), (transfer_track):
        * plugins/mtpdevice/rb-mtp-source.h:
        Rearrange things to improve GObjectness, add some basic
        reporting for libmtp errors, ensure MP3 is the first format in the
        list of supported types for the device (since if an encoder is
        installed at all, transcoding to MP3 is far more reliable than other
        formats), try to use audio-only types for M4A/AAC tracks added to MTP
        devices, and remove the idle handler used to load tracks off the
        device if the device is removed.  Fixes #567524, #569074, maybe some
        other stuff.