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: 6695 $"
28
29
30 -class Repeater(feedcomponent.ParseLaunchComponent):
32 dp = ""
33 if 'drop-probability' in properties:
34 vt = gstreamer.get_plugin_version('coreelements')
35 if not vt:
36 raise errors.MissingElementError('identity')
37 if not vt > (0, 10, 12, 0):
38 self.addMessage(
39 messages.Warning(T_(N_(
40 "The 'drop-probability' property is specified, but "
41 "it only works with GStreamer core newer than 0.10.12. "
42 "You should update your version of GStreamer."))))
43 else:
44 drop_probability = properties['drop-probability']
45 if drop_probability < 0.0 or drop_probability > 1.0:
46 self.addMessage(
47 messages.Warning(T_(N_(
48 "The 'drop-probability' property can only be "
49 "between 0.0 and 1.0."))))
50 else:
51 dp = " drop-probability=%f" % drop_probability
52
53 return 'identity silent=true %s' % dp
54