1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 from flumotion.common import gstreamer, messages, errors
23 from flumotion.common.i18n import N_, gettexter
24 from flumotion.component import feedcomponent
25
26 T_ = gettexter()
27 __version__ = "$Rev$"
28
29
30 -class Repeater(feedcomponent.ParseLaunchComponent):
31
33 dp = ""
34 if 'drop-probability' in properties:
35 vt = gstreamer.get_plugin_version('coreelements')
36 if not vt:
37 raise errors.MissingElementError('identity')
38 if not vt > (0, 10, 12, 0):
39 self.addMessage(
40 messages.Warning(T_(N_(
41 "The 'drop-probability' property is specified, but "
42 "it only works with GStreamer core newer than 0.10.12."
43 " You should update your version of GStreamer."))))
44 else:
45 drop_probability = properties['drop-probability']
46 if drop_probability < 0.0 or drop_probability > 1.0:
47 self.addMessage(
48 messages.Warning(T_(N_(
49 "The 'drop-probability' property can only be "
50 "between 0.0 and 1.0."))))
51 else:
52 dp = " drop-probability=%f" % drop_probability
53
54 return 'identity silent=true %s' % dp
55