Liquidsoap dev : Liquidsoap execution phases

Liquidsoap execution phases

There are various stages of running liquidsoap:

Usually, liquidsoap is ran by passing one or several scripts and expressions to execute. Those expressions set up some sources, and outputs typically don't change anymore. If those initially provided active sources fail to be initialized (invalid parameter, fail to connect, etc.) liquidsoap will terminate with an error.

It is however possible to dynamically create active sources, through registered server commands, event handlers, etc. They will be initialized and run as statically created ones. In interactive mode (passing the --interactive option) it is also possible to input expressions in a liquidsoap prompt, and their execution can trigger the creation of new outputs.

Outputs can be desactivated using source.shutdown(): they will stop streaming and will be destroyed.

The full liquidsoap instance can be shutdown using the shutdown() command.