[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