Trees | Indices | Help |
---|
|
1 # -*- Mode: Python -*- 2 # vi:si:et:sw=4:sts=4:ts=4 3 # 4 # Flumotion - a streaming media server 5 # Copyright (C) 2004,2005,2006,2007 Fluendo, S.L. (www.fluendo.com). 6 # All rights reserved. 7 8 # This file may be distributed and/or modified under the terms of 9 # the GNU General Public License version 2 as published by 10 # the Free Software Foundation. 11 # This file is distributed without any warranty; without even the implied 12 # warranty of merchantability or fitness for a particular purpose. 13 # See "LICENSE.GPL" in the source distribution for more information. 14 15 # Licensees having purchased or holding a valid Flumotion Advanced 16 # Streaming Server license may use this file in accordance with the 17 # Flumotion Advanced Streaming Server Commercial License Agreement. 18 # See "LICENSE.Flumotion" in the source distribution for more information. 19 20 # Headers in this file shall remain intact. 21 22 from flumotion.common import messages 23 from flumotion.common.i18n import N_, gettexter 24 from flumotion.component import feedcomponent 25 from flumotion.worker.checks import check 26 27 28 __version__ = "$Rev: 7161 $" 29 T_ = gettexter() 30 3133 checkTimestamp = True 34 checkOffset = True 358837 self.debug('running Theora check') 38 from flumotion.worker.checks import encoder 39 return check.do_check(self, encoder.checkTheora)40 4345 element = pipeline.get_by_name('encoder') 46 47 props = ('bitrate', 48 'quality', 49 'keyframe-mindistance', 50 ('quick-compress', 'quick'), 51 ('keyframe-maxdistance', 'keyframe-freq'), 52 ('keyframe-maxdistance', 'keyframe-force'), 53 'noise-sensitivity', 54 'sharpness') 55 56 # F0.6: remove this code 57 # before 0.3.2, bitrate was interpreted as kbps, inconsistent 58 # with other flumotion components 59 # safe to assume that nobody will want less than 10 kbit/sec 60 # also, MikeS *requires* a kbit/sec to be seen as 1000 bit/sec 61 if 'bitrate' in properties: 62 if properties['bitrate'] < 10000: 63 self.addMessage( 64 messages.Warning(T_(N_( 65 "Your configuration uses 'bitrate' expressed in " 66 "kbit/sec. Please convert it to a value in bit/sec by" 67 " multiplying the value by 1000.")), mid='bitrate')) 68 properties['bitrate'] *= 1000 69 70 for p in props: 71 if isinstance(p, tuple): 72 pproperty, eproperty = p 73 else: 74 pproperty = eproperty = p 75 76 if not pproperty in properties: 77 continue 78 79 value = properties[pproperty] 80 self.debug('Setting GStreamer property %s to %r' % ( 81 eproperty, value)) 82 83 # FIXME: GStreamer 0.10 has bitrate in kbps, inconsistent 84 # with all other elements, so fix it up 85 if pproperty == 'bitrate': 86 value = int(value/1000) 87 element.set_property(eproperty, value)
Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Wed Aug 11 21:33:30 2010 | http://epydoc.sourceforge.net |