aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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: