[SCM] morituri/master: add new file

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


The following commit has been merged in the master branch:
commit 97101ec972c6cf3a9e3b6038c7804553e59d5d88
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date:   Thu Jul 12 09:38:59 2012 +0000

    add new file

diff --git a/morituri/common/checksum.py b/morituri/common/checksum.py
index d0fe2e0..145c7d0 100644
--- a/morituri/common/checksum.py
+++ b/morituri/common/checksum.py
@@ -6,17 +6,17 @@
 # Copyright (C) 2009 Thomas Vander Stichele
 
 # This file is part of morituri.
-# 
+#
 # morituri is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # morituri is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-# 
+#
 # You should have received a copy of the GNU General Public License
 # along with morituri.  If not, see <http://www.gnu.org/licenses/>.
 
@@ -143,7 +143,9 @@ class ChecksumTask(log.Loggable, gstreamer.GstPipelineTask):
         self.debug('scheduled setting to play')
 
     def stopped(self):
+        self.debug('stopped')
         if not self._last:
+            self.debug('raising EmptyError')
             # see http://bugzilla.gnome.org/show_bug.cgi?id=578612
             self.debug('not a single buffer gotten, raising')
             self.setException(common.EmptyError('not a single buffer gotten'))
@@ -269,7 +271,7 @@ class AccurateRipChecksumTask(ChecksumTask):
 
         return checksum
 
-class TRMTask(gstreamer.GstPipelineTask):
+class TRMTask(task.GstPipelineTask):
     """
     I calculate a MusicBrainz TRM fingerprint.
 
diff --git a/morituri/common/encode.py b/morituri/common/encode.py
index 6070f89..c8c81f1 100644
--- a/morituri/common/encode.py
+++ b/morituri/common/encode.py
@@ -26,6 +26,7 @@ import shutil
 import tempfile
 
 from morituri.common import common, log
+from morituri.common import task as ctask
 
 from morituri.extern.task import task, gstreamer
 
@@ -124,7 +125,7 @@ LOSSY_PROFILES = {
 ALL_PROFILES = PROFILES.copy()
 ALL_PROFILES.update(LOSSY_PROFILES)
 
-class EncodeTask(gstreamer.GstPipelineTask):
+class EncodeTask(ctask.GstPipelineTask):
     """
     I am a task that encodes a .wav file.
     I set tags too.
@@ -218,6 +219,14 @@ class EncodeTask(gstreamer.GstPipelineTask):
 
         bus.connect('message::element', self._message_element_cb)
         self._level = self.pipeline.get_by_name('level')
+
+        # set an interval that is smaller than the duration
+        # FIXME: check level and make sure it emits level up to the last
+        # sample, even if input is small
+        interval = 1000000000L
+        if interval < duration:
+            interval = duration / 2
+        self._level.set_property('interval', interval)
         # add a probe so we can track progress
         # we connect to level because this gives us offset in samples
         srcpad = self._level.get_static_pad('src')
@@ -268,6 +277,8 @@ class EncodeTask(gstreamer.GstPipelineTask):
             self.peak = math.sqrt(math.pow(10, self._peakdB / 10.0))
         else:
             self.warning('No peak found, something went wrong!')
+            # workaround for when the file is too short to have volume ?
+            # self.peak = 0.0
 
 class TagReadTask(gstreamer.GstPipelineTask):
     """
diff --git a/morituri/common/task.py b/morituri/common/task.py
new file mode 100644
index 0000000..0794b1a
--- /dev/null
+++ b/morituri/common/task.py
@@ -0,0 +1,12 @@
+# -*- Mode: Python -*-
+# vi:si:et:sw=4:sts=4:ts=4
+
+from morituri.extern.log import log
+from morituri.extern.task import task, gstreamer
+
+# log.Loggable first to get logging
+class SyncRunner(log.Loggable, task.SyncRunner):
+    pass
+
+class GstPipelineTask(log.Loggable, gstreamer.GstPipelineTask):
+    pass

-- 
morituri packaging



More information about the pkg-multimedia-commits mailing list