aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Spaeth <Sebastian@SSpaeth.de>2012-12-19 15:43:38 +0100
committerSebastian Spaeth <Sebastian@SSpaeth.de>2012-12-19 15:48:30 +0100
commit0efc4e4dbf6373d5a5b1a4b1fd2e3f9cdc403ab6 (patch)
tree4f9ac77f645f22319d0117966b4b40da9a929d4a
parent4d9b426ccfe4b6a3c875e75399011d7cf25aa379 (diff)
downloadmediagoblin-0efc4e4dbf6373d5a5b1a4b1fd2e3f9cdc403ab6.tar.lz
mediagoblin-0efc4e4dbf6373d5a5b1a4b1fd2e3f9cdc403ab6.tar.xz
mediagoblin-0efc4e4dbf6373d5a5b1a4b1fd2e3f9cdc403ab6.zip
Only log output and write progress to db if it has changed
De-noisify the transcoding log and db updates. Previously we would log and save the progress percentage every second, even if it had not changed at all. Save progress:oercentage in the Transcoder and only log/update when the percentage has actually changed. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
-rw-r--r--mediagoblin/media_types/video/transcoders.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/mediagoblin/media_types/video/transcoders.py b/mediagoblin/media_types/video/transcoders.py
index 26f96b5f..152de288 100644
--- a/mediagoblin/media_types/video/transcoders.py
+++ b/mediagoblin/media_types/video/transcoders.py
@@ -636,7 +636,7 @@ class VideoTranscoder:
'''
def __init__(self):
_log.info('Initializing VideoTranscoder...')
-
+ self.progress_percentage = None
self.loop = gobject.MainLoop()
def transcode(self, src, dst, **kwargs):
@@ -913,12 +913,14 @@ class VideoTranscoder:
elif message.type == gst.MESSAGE_ELEMENT:
if message.structure.get_name() == 'progress':
data = dict(message.structure)
-
- if self._progress_callback:
- self._progress_callback(data.get('percent'))
-
- _log.info('{percent}% done...'.format(
- percent=data.get('percent')))
+ # Update progress state if it has changed
+ if self.progress_percentage != data.get('percent'):
+ self.progress_percentage = data.get('percent')
+ if self._progress_callback:
+ self._progress_callback(data.get('percent'))
+
+ _log.info('{percent}% done...'.format(
+ percent=data.get('percent')))
_log.debug(data)
elif t == gst.MESSAGE_ERROR: