* morituri/common/checksum.py:
* morituri/common/gstreamer.py: Remove audioparsers plugin if it has the known bug. Fixes #64.
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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')
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user