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/gstreamer.py", line 467, in finished
dontdelete.remove(self)
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.
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): soundconverter/ python/ soundconverter/ gstreamer. py", line 467, in finished e.remove( self)
File "/usr/lib/
dontdelet
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.