From 0efc4e4dbf6373d5a5b1a4b1fd2e3f9cdc403ab6 Mon Sep 17 00:00:00 2001 From: Sebastian Spaeth Date: Wed, 19 Dec 2012 15:43:38 +0100 Subject: [PATCH] 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 --- mediagoblin/media_types/video/transcoders.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 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) + # 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')) - if self._progress_callback: - self._progress_callback(data.get('percent')) - - _log.info('{percent}% done...'.format( - percent=data.get('percent'))) + _log.info('{percent}% done...'.format( + percent=data.get('percent'))) _log.debug(data) elif t == gst.MESSAGE_ERROR: