1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import string
23 from twisted.internet import defer
24
25 from flumotion.common import gstreamer, messages
26 from flumotion.common.i18n import N_, gettexter
27 from flumotion.worker.checks import check
28
29 __version__ = "$Rev: 8166 $"
30 T_ = gettexter()
31
32
34 """
35 Check for a recent enough Ogg muxer.
36 """
37 result = messages.Result()
38 version = gstreamer.get_plugin_version('ogg')
39 if version >= (0, 10, 3, 0) and version < (0, 10, 4, 0):
40 m = messages.Warning(T_(
41 N_("Version %s of the '%s' GStreamer plug-in contains a bug.\n"),
42 string.join([str(x) for x in version], '.'), 'ogg'),
43 mid='ogg-check')
44 m.add(T_(N_("The generated Ogg stream will not be fully compliant, "
45 "and might not even play correctly.\n")))
46 m.add(T_(N_("Please upgrade '%s' to version %s."), 'gst-plugins-base',
47 '0.10.4'))
48 result.add(m)
49
50 result.succeed(None)
51 return defer.succeed(result)
52
53
55 """
56 Check if the version of oggmux is the one that can create borked ogg files.
57
58 Note: this also checks for a problem with gdppay reported in #1341.
59 """
60 result = messages.Result()
61 if gstreamer.get_plugin_version('ogg') == (0, 10, 24, 0):
62 m = messages.Warning(T_(
63 N_("Version %s of the '%s' GStreamer plug-ins set "
64 "contains various bugs.\n"), '0.10.24', 'gst-plugins-base'),
65 mid='oggmux-check')
66 m.add(T_(N_("They are regressions introduced in %s and will be "
67 "fixed in %s.\n"), '0.10.24', '0.10.25'))
68 m.add(T_(N_("The component will probably never go to happy.\n")))
69 m.add(T_(N_("Please use a different version of %s instead."),
70 'gst-plugins-base'))
71 result.add(m)
72
73 result.succeed(None)
74 return defer.succeed(result)
75