GStreamer plug-in installation success/failure issues

Bug #1123410 reported by Michael Schwendt
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

If install_plugin_cb() fails during reading of tags, because plug-in cannot be found or user aborts the search, the task is still added to the converter TaskQueue. That is because install_plugin_cb() calls done(), which in turn emits an idle callback of finished(), which in turn calls a hook method, such as found_tag_hook for tags_read(), which then adds the file to the converter.add() queue.

As a result, subsequent conversion attempts end up duplicated/conflicting tasks similar to bug #1121297.

Suggested solution: install_plugin_cb() should end the task differently, so finished() isn't called and e.g. self.error is set accordingly. Or finished() checks self.error if set properly.

Revision history for this message
Michael Schwendt (mschwendt) wrote :

Removed the patch, because although it worked during normal operation, it didn't prevent successful GStreamer plugin installation from calling TagReader finished() a second time. That lead to bug 1128340 (closed duplicate as to continue here):

  Traceback (most recent call last):
    File "/usr/lib/soundconverter/python/soundconverter/", line 467, in finished
  ValueError: list.remove(x): x not in list

The second callback to TagReader finished() in install_plugin_cb() happens due to TagReader and Decoder and others overriding the "finished" method instead of calling Pipeline.finished(). As they replay the pipeline, they don't want to emit the final "finished" yet.

I'll attach a different patch.

Revision history for this message
Michael Schwendt (mschwendt) wrote :

Combined fixes for GStreamer plug-in installation SUCCESS and FAILURE. Also closes bug 1128332.

summary: - GStreamer plug-in installation failed adds task to converter queue
+ GStreamer plug-in installation success/failure issues
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.