diff options
author | Sebastian Spaeth <Sebastian@SSpaeth.de> | 2012-12-19 15:43:38 +0100 |
---|---|---|
committer | Sebastian Spaeth <Sebastian@SSpaeth.de> | 2012-12-19 15:48:30 +0100 |
commit | 0efc4e4dbf6373d5a5b1a4b1fd2e3f9cdc403ab6 (patch) | |
tree | 4f9ac77f645f22319d0117966b4b40da9a929d4a | |
parent | 4d9b426ccfe4b6a3c875e75399011d7cf25aa379 (diff) | |
download | mediagoblin-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.py | 16 |
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: |