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 534981 - Add multi threading to MTP Support
Add multi threading to MTP Support
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: Removable Media
0.11.x
Other All
: Normal minor
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-05-26 20:21 UTC by Fabien Chaillou
Modified: 2009-10-10 05:23 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Fabien Chaillou 2008-05-26 20:21:47 UTC
When transfering my songs to my mtp audio player, rhythmbox is unresponsive.
The transfer task should be made in background in another thread.

I'm willing to take a look at the problem if someone can give me clue on where to start.

Other information:
Comment 1 Chris Jones 2008-05-29 09:54:20 UTC
I see fairly substantial periods of non-response from rhythmbox even connecting an MTP device (my Nokia N95 phone in Media Player mode), so this would be very welcome!
Comment 2 Christophe Fergeau 2008-11-25 16:25:48 UTC
The patch in bug #491263 seems to address that issue (among other)
Comment 3 Jonathan Matthew 2009-10-10 05:23:39 UTC
Fixed in a series of commits leading up to this:

commit c5c82a696448d53b16be94d774f5628f73371ddb
Author: Jonathan Matthew <jonathan@d14n.org>
Date:   Sat Oct 10 15:16:47 2009 +1000

    mtp: huge rewrite to do all device operations in a separate thread
    
    This moves all MTP device operations to a separate thread, including
    uploads and downloads, so the main UI thread never gets blocked.
    
    Noteworthy things: the source object is now created based on a raw
    device, so it has to open the device.  The source destroys itself if the
    device cannot be opened.
    
    There is now a GStreamer MTP sink element that writes data to a
    temporary file, then uploads the file when it receives an EOS event.
    
    Fixes bug #534981.