aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRodney Ewing <ewing.rj@gmail.com>2013-08-13 11:42:42 -0700
committerRodney Ewing <ewing.rj@gmail.com>2013-08-16 15:30:19 -0700
commit0c509b1b7e6f7c8ba52aec4860dc0cae1dc0de80 (patch)
treec427fb55bb6be98525c210594493ed1d494bda57
parentad80fc8ac7fbd3ab8ceff31fea6cf9055a4e7d5f (diff)
downloadmediagoblin-0c509b1b7e6f7c8ba52aec4860dc0cae1dc0de80.tar.lz
mediagoblin-0c509b1b7e6f7c8ba52aec4860dc0cae1dc0de80.tar.xz
mediagoblin-0c509b1b7e6f7c8ba52aec4860dc0cae1dc0de80.zip
added audio reprocessing transcoder
-rw-r--r--mediagoblin/media_types/audio/processing.py38
1 files changed, 37 insertions, 1 deletions
diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py
index 2f965e45..7d8fd2d2 100644
--- a/mediagoblin/media_types/audio/processing.py
+++ b/mediagoblin/media_types/audio/processing.py
@@ -274,7 +274,7 @@ class Resizer(CommonAudioProcessor):
return request_from_args(
args, ['thumb_size', 'file', 'fft_size', 'medium_width'])
- def process(self, thumb_size=None, file=None, fft_size=None,
+ def process(self, file, thumb_size=None, fft_size=None,
medium_width=None):
self.common_setup()
@@ -284,8 +284,44 @@ class Resizer(CommonAudioProcessor):
self.create_spectrogram(max_width=medium_width, fft_size=fft_size)
+class Transcoder(CommonAudioProcessor):
+ """
+ Transcoding processing steps for processed audio
+ """
+ name = 'transcode'
+ description = 'Re-transcode audio'
+
+ @classmethod
+ def media_is_eligible(cls, entry=None, state=None):
+ if not state:
+ state = entry.state
+ return state in 'processed'
+
+ @classmethod
+ def generate_parser(cls):
+ parser = argparse.ArgumentParser(
+ description=cls.description,
+ prog=cls.name)
+
+ parser.add_argument(
+ '--quality',
+ help='vorbisenc quality. Range: -0.1..1')
+
+ return parser
+
+ @classmethod
+ def args_to_request(cls, args):
+ return request_from_args(
+ args, ['quality'])
+
+ def process(self, quality=None):
+ self.common_setup()
+ self.transcode(quality=quality)
+
+
class AudioProcessingManager(ProcessingManager):
def __init__(self):
super(self.__class__, self).__init__()
self.add_processor(InitialProcessor)
self.add_processor(Resizer)
+ self.add_processor(Transcoder)