Package flumotion :: Package launch :: Module main
[hide private]

Module main

source code


Flumotion-launch: A gst-launch analog for Flumotion.

The goal of flumotion-launch is to provide an easy way for testing
flumotion components, without involving much of Flumotion's core code.

Flumotion-launch takes a terse gst-launch-like syntax, translates that
into a component graph, and starts the components. An example would be::

  flumotion-launch videotest ! theora-encoder ! ogg-muxer ! http-streamer

You can also set properties::

  flumotion-launch videotest framerate=15/2

You can link specific feeders as well::

  flumotion-launch firewire .audio ! vorbis-encoder
  flumotion-launch firewire firewire0.audio ! vorbis-encoder

Components can be backreferenced using their names::

  flumotion-launch videotest audiotest videotest0. ! ogg-muxer                    audiotest0. ! ogg-muxer0.

In addition, components can have plugs::

  flumotion-launch http-streamer /requestlogger-file,logfile=/dev/stdout

Compound properties can be specified with:

  propname=[subname1=value1,subname2=[subsubname1=subsubvalue1]]

Characters '', '[' and ']' can be escaped with ''
to remove there special meaning.

Flumotion-launch explicitly avoids much of Flumotion's core logic. It
does not import flumotion.manager, flumotion.admin, or flumotion.worker.
There is no depgraph, no feed server, no job process. Although it might
be useful in the future to add a way to use the standard interfaces to
start components via admin, manager, worker, and job instances, this
low-level interface is useful in debugging problems and should be kept.


Version: $Rev$

Classes [hide private]
  ComponentWrapper
Functions [hide private]
 
err(x) source code
 
make_pipes(wrappers) source code
 
start_components(wrappers, fds) source code
 
main(args) source code
Variables [hide private]
  _headings = {1: 'Error', 2: 'Warning', 3: 'Note'}
  __package__ = 'flumotion.launch'