summaryrefslogtreecommitdiff
path: root/contrib/flumotion-components/muxers
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/flumotion-components/muxers')
-rw-r--r--contrib/flumotion-components/muxers/flv.py32
-rw-r--r--contrib/flumotion-components/muxers/mkv.py32
-rw-r--r--contrib/flumotion-components/muxers/muxers.xml120
3 files changed, 184 insertions, 0 deletions
diff --git a/contrib/flumotion-components/muxers/flv.py b/contrib/flumotion-components/muxers/flv.py
new file mode 100644
index 0000000..99db480
--- /dev/null
+++ b/contrib/flumotion-components/muxers/flv.py
@@ -0,0 +1,32 @@
+# -*- Mode: Python -*-
+# vi:si:et:sw=4:sts=4:ts=4
+
+# Flumotion - a streaming media server
+# Copyright (C) 2004,2005,2006,2007,2008,2009 Fluendo, S.L.
+# Copyright (C) 2010,2011 Flumotion Services, S.A.
+# All rights reserved.
+#
+# This file may be distributed and/or modified under the terms of
+# the GNU Lesser General Public License version 2.1 as published by
+# the Free Software Foundation.
+# This file is distributed without any warranty; without even the implied
+# warranty of merchantability or fitness for a particular purpose.
+# See "LICENSE.LGPL" in the source distribution for more information.
+#
+# Headers in this file shall remain intact.
+
+from flumotion.common import messages
+from flumotion.common.i18n import N_, gettexter
+from flumotion.component import feedcomponent
+from flumotion.worker.checks import check
+
+__version__ = "$Rev$"
+T_ = gettexter()
+
+
+class FLV(feedcomponent.MuxerComponent):
+ checkTimestamp = True
+
+ def get_muxer_string(self, properties):
+ muxer = 'flvmux name=muxer streamable=true'
+ return muxer
diff --git a/contrib/flumotion-components/muxers/mkv.py b/contrib/flumotion-components/muxers/mkv.py
new file mode 100644
index 0000000..7b035c8
--- /dev/null
+++ b/contrib/flumotion-components/muxers/mkv.py
@@ -0,0 +1,32 @@
+# -*- Mode: Python -*-
+# vi:si:et:sw=4:sts=4:ts=4
+
+# Flumotion - a streaming media server
+# Copyright (C) 2004,2005,2006,2007,2008,2009 Fluendo, S.L.
+# Copyright (C) 2010,2011 Flumotion Services, S.A.
+# All rights reserved.
+#
+# This file may be distributed and/or modified under the terms of
+# the GNU Lesser General Public License version 2.1 as published by
+# the Free Software Foundation.
+# This file is distributed without any warranty; without even the implied
+# warranty of merchantability or fitness for a particular purpose.
+# See "LICENSE.LGPL" in the source distribution for more information.
+#
+# Headers in this file shall remain intact.
+
+from flumotion.common import messages
+from flumotion.common.i18n import N_, gettexter
+from flumotion.component import feedcomponent
+from flumotion.worker.checks import check
+
+__version__ = "$Rev$"
+T_ = gettexter()
+
+
+class MKV(feedcomponent.MuxerComponent):
+ checkTimestamp = True
+
+ def get_muxer_string(self, properties):
+ muxer = 'matroskamux name=muxer streamable=true'
+ return muxer
diff --git a/contrib/flumotion-components/muxers/muxers.xml b/contrib/flumotion-components/muxers/muxers.xml
new file mode 100644
index 0000000..91cf819
--- /dev/null
+++ b/contrib/flumotion-components/muxers/muxers.xml
@@ -0,0 +1,120 @@
+<registry>
+ <components>
+
+ <component type="ogg-muxer" base="flumotion/component/muxers"
+ _description="Muxes encode feeds into an Ogg feed.">
+ <source location="flumotion.component.muxers.ogg"/>
+ <feeder name="default"/>
+ <eater name="default" multiple="yes"/>
+ <entries>
+ <entry type="component" location="ogg.py"
+ function="Ogg"/>
+ <entry type="wizard" location="wizard_gtk.py"
+ function="OggWizardPlugin"/>
+ </entries>
+
+ <wizard _description="Ogg" type="muxer"
+ feeder="default" eater="default">
+ <accept-format media-type="dirac" />
+ <accept-format media-type="theora" />
+ <accept-format media-type="speex" />
+ <accept-format media-type="vorbis" />
+ <accept-format media-type="vp8" />
+ <provide-format media-type="ogg" />
+ </wizard>
+ </component>
+
+ <component type="multipart-muxer" base="flumotion/component/muxers"
+ _description="Muxes encode feeds into a Multipart feed.">
+ <source location="flumotion.component.muxers.multipart"/>
+ <feeder name="default"/>
+ <eater name="default" multiple="yes"/>
+ <entries>
+ <entry type="component" location="multipart.py"
+ function="Multipart"/>
+ <entry type="wizard" location="wizard_gtk.py"
+ function="MultipartWizardPlugin"/>
+ </entries>
+ <wizard _description="Multipart" type="muxer"
+ feeder="default" eater="default">
+ <accept-format media-type="jpeg"/>
+ <accept-format media-type="mulaw"/>
+ <accept-format media-type="smoke"/>
+ <provide-format media-type="multipart"/>
+ </wizard>
+ </component>
+
+ <component type="webm-muxer" base="flumotion/component/muxers"
+ _description="Muxes encoded feeds into an WebM feed.">
+ <source location="flumotion.component.muxers.webm"/>
+ <feeder name="default"/>
+ <eater name="default" multiple="yes"/>
+ <entries>
+ <entry type="component" location="webm.py"
+ function="WebM"/>
+ <entry type="wizard" location="wizard_gtk.py"
+ function="WebMWizardPlugin"/>
+ </entries>
+ <wizard _description="WebM" type="muxer"
+ feeder="default" eater="default">
+ <accept-format media-type="vorbis"/>
+ <accept-format media-type="vp8"/>
+ <provide-format media-type="webm" />
+ </wizard>
+ </component>
+
+ <component type="mkv-muxer" base="flumotion/component/muxers"
+ _description="Muxes encoded feeds into an matroska feed.">
+ <source location="flumotion.component.muxers.mkv"/>
+ <feeder name="default"/>
+ <eater name="default" multiple="yes"/>
+ <entries>
+ <entry type="component" location="mkv.py"
+ function="MKV"/>
+ </entries>
+ </component>
+
+ <component type="flv-muxer" base="flumotion/component/muxers"
+ _description="Muxes encoded feeds into an flv feed.">
+ <source location="flumotion.component.muxers.flv"/>
+ <feeder name="default"/>
+ <eater name="default" multiple="yes"/>
+ <entries>
+ <entry type="component" location="flv.py"
+ function="FLV"/>
+ </entries>
+ </component>
+
+ </components>
+
+ <bundles>
+ <bundle name="muxers-base">
+ <directories>
+ <directory name="flumotion/component/muxers">
+ <filename location="base.py" />
+ </directory>
+ </directories>
+ </bundle>
+
+ <bundle name="muxers">
+ <dependencies>
+ <dependency name="component" />
+ <dependency name="muxers-base" />
+ </dependencies>
+
+ <directories>
+ <directory name="flumotion/component/muxers">
+ <filename location="multipart.py" />
+ <filename location="ogg.py" />
+ <filename location="webm.py" />
+ <filename location="mkv.py" />
+ <filename location="flv.py" />
+ <filename location="checks.py" />
+ <filename location="wizard_gtk.py" />
+ </directory>
+ </directories>
+ </bundle>
+
+ </bundles>
+
+</registry>