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