* morituri/common/checksum.py:

* morituri/common/gstreamer.py:
	  Remove audioparsers plugin if it has the known bug.
	  Fixes #64.
This commit is contained in:
Thomas Vander Stichele
2011-05-24 16:03:02 +00:00
parent 4c81edf912
commit eee7505519
3 changed files with 18 additions and 1 deletions

View File

@@ -1,3 +1,10 @@
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
* morituri/common/checksum.py:
* morituri/common/gstreamer.py:
Remove audioparsers plugin if it has the known bug.
Fixes #64.
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
* morituri/common/task.py:

View File

@@ -72,12 +72,14 @@ class ChecksumTask(gstreamer.GstPipelineTask):
self.checksum = None # result
gstreamer.removeAudioParsers()
### gstreamer.GstPipelineTask implementations
def getPipelineDesc(self):
return '''
filesrc location="%s" !
decodebin ! audio/x-raw-int !
decodebin name=decode ! audio/x-raw-int !
appsink name=sink sync=False emit-signals=True
''' % common.quoteParse(self._path).encode('utf-8')

View File

@@ -171,3 +171,11 @@ class GstPipelineTask(task.Task):
self.setAndRaiseException(exc)
self.debug('error, scheduling stop')
self.schedule(0, self.stop)
# workaround for issue #64
def removeAudioParsers():
import gst
registry = gst.registry_get_default()
plugin = registry.find_plugin("audioparsers")
if plugin and plugin.get_version() <= '0.10.29':
registry.remove_plugin(plugin)