From 3589c4a40f6610b6a8a3b36c71eb09b9e0e33616 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Sun, 14 Feb 2016 02:00:21 +0000 Subject: [PATCH] gremlin/gremlin.in: Sane behaviour if `bitrate' property is omitted. The OggVorbisFormat would choose the most terrible quality; and MP3Format just threw a fatal exception. --- gremlin/gremlin.in | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/gremlin/gremlin.in b/gremlin/gremlin.in index 1fd862d..e32d084 100755 --- a/gremlin/gremlin.in +++ b/gremlin/gremlin.in @@ -1100,13 +1100,15 @@ class OggVorbisFormat (AudioFormat): EXT = 'ogg' def encoder_chain(me): - for q, br in me.QMAP: - if br >= me.bitrate: - break - else: - raise ValueError, 'no suitable quality setting found' - return [make_element('vorbisenc', - quality = q/10.0), + encprops = {} + if me.bitrate is not None: + for q, br in me.QMAP: + if br >= me.bitrate: + break + else: + raise ValueError, 'no suitable quality setting found' + encprops['quality'] = q/10.0 + return [make_element('vorbisenc', **encprops), make_element('oggmux')] defformat('ogg-vorbis', OggVorbisFormat) @@ -1119,9 +1121,9 @@ class MP3Format (AudioFormat): EXT = 'mp3' def encoder_chain(me): - return [make_element('lame', - vbr_mean_bitrate = me.bitrate, - vbr = 4), + encprops = {} + if me.bitrate is not None: encprops['vbr_mean_bitrate'] = me.bitrate + return [make_element('lame', vbr = 4, **encprops), make_element('xingmux'), make_element('id3v2mux')] -- 2.11.0