From e652cd7a92af61a18871852d27703919e9bc3be9 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 4 May 2013 21:14:42 +0200 Subject: added support for recorder --- src/flufigut.py | 28 ++++++++++++++++++++++++++++ src/update.sh | 2 +- templates/flumotion/default/planet.xml | 5 +++++ templates/flumotion/default/recorder.xml | 14 ++++++++++++++ 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 templates/flumotion/default/recorder.xml diff --git a/src/flufigut.py b/src/flufigut.py index 2372fc8..2caeae5 100755 --- a/src/flufigut.py +++ b/src/flufigut.py @@ -62,6 +62,7 @@ globals = config['globals'] input = config['input'] mux = config['mux'] stream = config['stream'] +record = config['record'] if output_format == 'flumotion': @@ -356,6 +357,33 @@ if output_format == 'flumotion': flow['streamer'][name]['properties']['burst-on-connect'] = 'true' flow['streamer'][name]['properties']['burst-time'] = stream[cluster][prop] + ### generate record components ################################ + flow['recorder'] = {} + + for recorder in record.keys(): + record_worker = 'recorder-%s'%(recorder) + if record_worker not in worker: + worker[record_worker] = -1 + else: + worker[record_worker] = 1 + + for mux_name in record[recorder]['muxes']: + format = record[recorder]['muxes'][mux_name]["format"] + profile = record[recorder]['muxes'][mux_name]["profile"] + feeder = 'muxer-%s-%s-%s' % (mux_name, format, profile) + + name = 'recorder-%s-%s-%s' % (mux_name, format, profile) + flow['recorder'][name] = { + 'type': "recorder", + 'desc': "recorder for %s %s-%s" % (mux_name, format, profile), + 'worker': record_worker, + 'feeder': feeder, + 'properties': { } + } + for prop in record[recorder]: + if prop != 'muxes': + flow['recorder'][name]['properties'][prop] = record[recorder][prop] + ### sanity checks, cont'd ####################################### error = 0 diff --git a/src/update.sh b/src/update.sh index bb77181..16781a5 100755 --- a/src/update.sh +++ b/src/update.sh @@ -35,7 +35,7 @@ fi ./manage.sh $1 stop ./manage.sh $1 clean -./flufigut.py flumotion $1 +./flufigut.py flumotion $2 ./manage.sh $1 deploy ./manage.sh $1 start diff --git a/templates/flumotion/default/planet.xml b/templates/flumotion/default/planet.xml index c1633ee..7a45913 100644 --- a/templates/flumotion/default/planet.xml +++ b/templates/flumotion/default/planet.xml @@ -47,6 +47,11 @@ {% for name, component in flow['streamer'].items() %} {% include '%s.xml' % component.type %} +{% endfor %} + + +{% for name, component in flow['recorder'].items() %} +{% include '%s.xml' % component.type %} {% endfor %} diff --git a/templates/flumotion/default/recorder.xml b/templates/flumotion/default/recorder.xml new file mode 100644 index 0000000..b2fce9e --- /dev/null +++ b/templates/flumotion/default/recorder.xml @@ -0,0 +1,14 @@ + + + {{ component.feeder }} + +%% for name, value in component.properties.items() + {{ value }} +%% endfor + false + -- cgit v1.2.3