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 /apachelogger,logfile=/dev/stdout

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.

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