SoundConverter can't convert files from read only filesystem

Bug #1301095 reported by Lem on 2014-04-02
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
SoundConverter
High
GautierPortet

Bug Description

I'm using SoundCoverter from the getdeb respository (Installed: 2.1.2-1~getdeb1)

STEPS TO REPRODUCE
* Make a folder and its files read only.
* Add folder to SoundConverter.
* Select a writable folder for output.
* Press convert.
* SoundConverter reports:

GStreamer Error:

Could not open resource for writing.
(filename.flac)

STEPS TO WORKAROUND
* Make source folder writable.
* Press convert.
* SoundConverter works as intended.
* Or, copying the source files to a writable folder, which can be troublesome depending on the selection.

I convert FLAC files over a network share that I've write protected (because it's archival, I want no accidents there). It appears that SoundConverter is creating the transcoded file in the location of the source files, rather than in the destination. This also has the unwanted side effect of sending the transcoded data back over the network, only to retrieve it again to store it locally (if the destination folder is indeed local, which it is in my case).

Fixing this bug by making SoundConverter write its temporary files to the destination folder would fix this bug, but also make it more network friendly.

(thanks for a great application too, it's very convenient!)

======= SOUNDCONVERTER DEBUG OUTPUT FOR THIS TEST CASE =======

* Note source folder is write protected
* Files added via drag and drop from Sonata (MPD client)

$ soundconverter --debug
SoundConverter 2.1.2
  using Gstreamer version: 0.10.36
  using 4 thread(s)
  using gio
/usr/lib/soundconverter/python/soundconverter/ui.py:1485: Warning: Attempt to add property GnomeProgram::sm-connect after class was initialised
  gnome.init(name, version)
/usr/lib/soundconverter/python/soundconverter/ui.py:1485: Warning: Attempt to add property GnomeProgram::show-crash-dialog after class was initialised
  gnome.init(name, version)
/usr/lib/soundconverter/python/soundconverter/ui.py:1485: Warning: Attempt to add property GnomeProgram::display after class was initialised
  gnome.init(name, version)
/usr/lib/soundconverter/python/soundconverter/ui.py:1485: Warning: Attempt to add property GnomeProgram::default-icon after class was initialised
  gnome.init(name, version)
Queue start: 3 tasks, 4 thread(s).
launching: 'giosrc location="file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_15_Elysium.flac" ! typefind name=typefinder ! fakesink'
have_type: audio/x-flac Hans_Zimmer_and_Lisa_Gerrard_-_15_Elysium.flac
launching: 'giosrc location="file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_16_Honor_Him.flac" ! typefind name=typefinder ! fakesink'
have_type: audio/x-flac Hans_Zimmer_and_Lisa_Gerrard_-_16_Honor_Him.flac
launching: 'giosrc location="file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_17_Now_We_Are_Free.flac" ! typefind name=typefinder ! fakesink'
have_type: audio/x-flac Hans_Zimmer_and_Lisa_Gerrard_-_17_Now_We_Are_Free.flac
Queue done in 0.018s (3 tasks)
found_type Hans_Zimmer_and_Lisa_Gerrard_-_15_Elysium.flac
found_type Hans_Zimmer_and_Lisa_Gerrard_-_16_Honor_Him.flac
found_type Hans_Zimmer_and_Lisa_Gerrard_-_17_Now_We_Are_Free.flac
Queue start: 3 tasks, 4 thread(s).
launching: 'giosrc location="file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_15_Elysium.flac" name=src ! decodebin name=decoder ! audiorate ! audioconvert ! audioresample ! lamemp3enc encoding-engine-quality=2 target=quality cbr=false quality=1 ! xingmux ! id3v2mux ! giosink location="file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_15_Elysium.flac.mp3~SC~"'
launching: 'giosrc location="file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_16_Honor_Him.flac" name=src ! decodebin name=decoder ! audiorate ! audioconvert ! audioresample ! lamemp3enc encoding-engine-quality=2 target=quality cbr=false quality=1 ! xingmux ! id3v2mux ! giosink location="file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_16_Honor_Him.flac.mp3~SC~"'
launching: 'giosrc location="file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_17_Now_We_Are_Free.flac" name=src ! decodebin name=decoder ! audiorate ! audioconvert ! audioresample ! lamemp3enc encoding-engine-quality=2 target=quality cbr=false quality=1 ! xingmux ! id3v2mux ! giosink location="file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_17_Now_We_Are_Free.flac.mp3~SC~"'

Error: <b>GStreamer Error:</b>
Could not open resource for writing.
<i>(Hans_Zimmer_and_Lisa_Gerrard_-_15_Elysium.flac)</i>

Error: <b>GStreamer Error:</b>
Could not open resource for writing.
<i>(Hans_Zimmer_and_Lisa_Gerrard_-_16_Honor_Him.flac)</i>

Error: <b>GStreamer Error:</b>
Could not open resource for writing.
<i>(Hans_Zimmer_and_Lisa_Gerrard_-_17_Now_We_Are_Free.flac)</i>
Cannot set permission on '/media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_17_Now_We_Are_Free.flac.mp3~SC~'
error in task, skipping rename: file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_%282000%29/Hans_Zimmer_and_Lisa_Gerrard_-_17_Now_We_Are_Free.flac.mp3~SC~
Cannot set permission on '/media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_16_Honor_Him.flac.mp3~SC~'
error in task, skipping rename: file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_%282000%29/Hans_Zimmer_and_Lisa_Gerrard_-_16_Honor_Him.flac.mp3~SC~
Cannot set permission on '/media/Arch/Audio/FLAC/Soundtracks/Gladiator_(2000)/Hans_Zimmer_and_Lisa_Gerrard_-_15_Elysium.flac.mp3~SC~'
error in task, skipping rename: file:///media/Arch/Audio/FLAC/Soundtracks/Gladiator_%282000%29/Hans_Zimmer_and_Lisa_Gerrard_-_15_Elysium.flac.mp3~SC~
Queue done in 3.449s (3 tasks)

Lem (lem-jjr) wrote :

Ok upon further investigation, it is only the version on GetDeb ( 2.1.2-1~getdeb1) that has this issue. Version 2.0.4 from both Ubuntu 13.10 and 14.04 repositories don't have this issue. I just tried downloading the source from https://launchpad.net/soundconverter/trunk/2.1.2 and that has the same issue as the GetDeb version (as one would expect)..

description: updated
GautierPortet (kassoulet) wrote :

You are definitely right.

The reason why SoundConverter behave like this, is because destination folder is not know when we start converting, because we are maybe using tags to generate folders, and tags are read while converting.

This is not optimal. Well... broken and stupid.

I'll fix this!

Changed in soundconverter:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → GautierPortet (kassoulet)
GautierPortet (kassoulet) wrote :
Changed in soundconverter:
status: Confirmed → Fix Committed
milestone: none → 2.1.3
Changed in soundconverter:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers