summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2013-05-04 21:14:42 +0200
committerChristian Pointner <equinox@spreadspace.org>2013-05-04 21:14:42 +0200
commite652cd7a92af61a18871852d27703919e9bc3be9 (patch)
treea3b9410220f68a49d6883ed7507560da7ccfb2a2
parentfixed typo (diff)
added support for recorder
-rwxr-xr-xsrc/flufigut.py28
-rwxr-xr-xsrc/update.sh2
-rw-r--r--templates/flumotion/default/planet.xml5
-rw-r--r--templates/flumotion/default/recorder.xml14
4 files changed, 48 insertions, 1 deletions
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
@@ -48,6 +48,11 @@
{% for name, component in flow['streamer'].items() %}
{% include '%s.xml' % component.type %}
{% endfor %}
+
+<!-- recording -->
+{% for name, component in flow['recorder'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
</flow>
</planet>
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 name="{{ name }}"
+ type="disk-consumer"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder }}</feed>
+ </eater>
+%% for name, value in component.properties.items()
+ <property name="{{ name }}">{{ value }}</property>
+%% endfor
+ <clock-master>false</clock-master>
+ </component>