Bug 1109494 - SoundConverter can't export to a folder on an MTP device
Summary: SoundConverter can't export to a folder on an MTP device
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: soundconverter
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Xavier Lamien
QA Contact: Fedora Extras Quality Assurance
URL: https://bugs.launchpad.net/soundconve...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-06-14 13:41 UTC by kubrick@fgv6.net
Modified: 2014-07-09 18:23 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-07-09 18:23:06 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Syslog output (1.29 KB, text/plain)
2014-06-14 13:41 UTC, kubrick@fgv6.net
no flags Details
Debug output (3.15 KB, text/plain)
2014-06-15 16:17 UTC, kubrick@fgv6.net
no flags Details

Description kubrick@fgv6.net 2014-06-14 13:41:36 UTC
Created attachment 908782 [details]
Syslog output

Description of problem:
SoundConverter can't export to a folder on an MTP device

How reproducible:
All the time

Steps to Reproduce:
1. Choose files to convert
2. Select a folder on an MTP device mounted in Nautilus as a destination
3. Start the export.

Actual results:
Progress bar stays on "Preparing Conversion..."

Expected results:
Should convert the files and save them in the selected location.


Additional info:
Syslog output attached.

Comment 1 Michael Schwendt 2014-06-14 14:04:43 UTC
> Jun 14 14:32:14 macbookpro gnome-session[1644]: filename = str(gnomevfs.URI(filename))
> Jun 14 14:32:14 macbookpro gnome-session[1644]: TypeError: could not parse URI

Could you please run "soundconverter -d" in a terminal, then reproduce the problem and attach the full terminal output?

Comment 2 kubrick@fgv6.net 2014-06-15 16:17:12 UTC
Created attachment 908920 [details]
Debug output

See the attached file, but it's probably not going to help.

What could help is this value in gconf:

/apps/SoundConverter/selected-folder=mtp://[usb:002,005]/SD card

Comment 3 Michael Schwendt 2014-06-15 16:40:37 UTC
Well, the debug output does help, because it confirms that the local "filename" is not the culprit.

In fileoperations.py filename_to_uri() crashes in gnomevfs.URI(), which is the API from package gnome-python2-gnomevfs (in bugzilla: gnome-python2). It does not accept the "mtp://" prefix at all,

  $ python
  >>> import gnomevfs
  >>> print gnomevfs.URI('mtp://foo')
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  TypeError: could not parse URI

so that's not going to work.

Comment 4 kubrick@fgv6.net 2014-07-06 13:02:02 UTC
Anything we can do about it? Can it be assigned to someone?

Comment 5 Michael Schwendt 2014-07-09 10:20:09 UTC
Since you use MTP (or want to use it), you could research two things:

 * Do gnome-vfs2 and gnome-python2-gnomevfs support MTP? I don't think they do, and I have doubts these two are still developed further.

 * What's the current state of the art with regard to MTP support? Probably solutions based on gvfs and gvfs-mtp.

For Soundconverter that could mean it may need to use a different/more capable API (in a similar way to switching from GStreamer 0.10.x to GStreamer 1.x eventually): https://bugs.launchpad.net/soundconverter

Comment 6 kubrick@fgv6.net 2014-07-09 18:18:21 UTC
Thanks for this very enlightening feedback.

Still, there's something weird:

http://bazaar.launchpad.net/~kassoulet/soundconverter/main/view/head:/soundconverter/ui.py#L1180

Sets the gtk file chooser to be "local only" (use_gnomevfs is set to false in  fileoperations.py) and according to the doc:

http://www.pygtk.org/pygtk2reference/class-gtkfilechooser.html#method-gtkfilechooser--set-local-only

which is specifically to make sure that "selected files are guaranteed to be accessible through the operating system's native file system.

But then they bother with URIs.

Looks like a flawed design... I'll report upstream.


Note You need to log in before you can comment on or make changes to this bug.