[SCM] morituri/master: * morituri/common/checksum.py: * morituri/common/gstreamer.py: Remove audioparsers plugin if it has the known bug. Fixes #64.

js at users.alioth.debian.org js at users.alioth.debian.org
Sun Oct 19 20:09:27 UTC 2014


The following commit has been merged in the master branch:
commit eee7505519fd310bc0b89af005831557cecaf650
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date:   Tue May 24 16:03:02 2011 +0000

    	* morituri/common/checksum.py:
    	* morituri/common/gstreamer.py:
    	  Remove audioparsers plugin if it has the known bug.
    	  Fixes #64.

diff --git a/ChangeLog b/ChangeLog
index d0579d8..12e010e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 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:
 	  Show us when we stop twice.
 	* morituri/common/gstreamer.py:
diff --git a/morituri/common/checksum.py b/morituri/common/checksum.py
index ac34030..550e224 100644
--- a/morituri/common/checksum.py
+++ b/morituri/common/checksum.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')
 
diff --git a/morituri/common/gstreamer.py b/morituri/common/gstreamer.py
index 2051c04..8d46787 100644
--- a/morituri/common/gstreamer.py
+++ b/morituri/common/gstreamer.py
@@ -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)

-- 
morituri packaging



More information about the pkg-multimedia-commits mailing list