Skip to content

Liquidsoap 1.0.0 beta 1

@smimram smimram released this Sep 7, 2010 · 1390 commits to master since this release

This beta version introduces two major new features: heterogeneous stream types and clocks.


  • Different sources can carry different types of content.
  • Encoding formats have been introduced to help infer stream content types. This brings static checking for bounds in encoding parameters.
  • Introduce conversions between stream contents (mono, stereo, drop audio, video, etc) and muxing.
  • Allow explicit type annotations in scripts.
  • Introduce clocks, cleanly allowing for the coexistence of different time flows, and avoiding inconsistencies that can result from it. Soundcard I/O and cross-based operators notably make use of it.
  • Remove root.sync, replaced by attaching a source s to clock(sync=false,s).
  • Enable dynamic source creation and source.shutdown().
  • Extend and adapt MIDI and video operators.
  • Introduce purely metadata streams (audio=video=midi=0 channels) and metadata stream decoder.
  • Support WAV streams in input.http/harbor().
  • Introduce static image decoder using SDL image.
  • Remove bound of request identifies (RID).
  • Experimental: source.dynamic() for advanced dangerous hacking.
  • Make path relative to script in %include "PATH", and introduce %include <...> where path is relative to liquidsoap library directory.
  • Add channels_matrix parameter to
  • Add on_(dis)connect hooks in input.harbor().

Cleanup and fixes:

  • Lots of cleanup and fixes as with all major code rewriting.
  • Optimize video and stabilize it a little bit... still not perfect.
  • Rewrite stream and file decoding API, as well as file format detection.
  • Enhance shutdown and error message reporting, notably for icecast and request-based sources.
  • Avoid quasi-infinite loop in failed request resolving.


Something went wrong with that request. Please try again.