← Back to all sparks
L

Liquidsoap

DEVOPS
Velocity6.3

Scripting language for generating and manipulating audio and video streams

Liquidsoap opens its 2.5 line with subtitles as a first-class content type and a streaming server of its own

audio-streamingsubtitlesicecastocamlbreaking-changes
Current state
The 2.5.x rolling release carries the accumulated 2.5.0 changelog, and it is the largest body of work Liquidsoap has staged in over a year. Subtitles become a dedicated content type alongside audio and video, with native SRT decoding, FFmpeg subtitle encode and decode, bitmap passthrough, callbacks, transformations and dynamic insertion. An Icecast-compatible server ships as icecast.server, with source authentication, mount points, relay and per-listener encoding. Underneath, the source composition model was rewritten: switch, fallback, rotate and random drop their parallel list parameters for per-source methods, and switching now fades by default.
Where it's heading
Liquidsoap is expanding on two axes at once. It is broadening what a stream can carry - subtitles are a third content modality in a system that has understood two - and it is moving up the stack from a source that feeds Icecast into something that can be the Icecast. The language work points the same way: a source(_) type for unknown content, callback release semantics, and effect-scoped clocks are the kind of changes made when scripts are getting large enough that lifetime and typing errors cost real production time.
Prediction
The 2.5.0 final should follow the rolling branch within a release cycle, and the migration guide already shipped for the composition parameter changes suggests the breaking surface is considered settled. Watch whether subtitle support reaches the harbor and Icecast server paths, which the current notes do not say.

Recent moves

  1. 15h ago

    Subtitles become a content type and Liquidsoap ships its own Icecast server

    ⚡ SPARK

    The pre-release channel where the 2.5.0 changelog is accumulating, and the first place the subtitle content type and icecast.server appear. Note for later: when the 2.5.0 final publishes and restates these notes, it is the same news arriving on the stable channel, not a second directional move.

    View source ↗
  2. 9d ago

    Liquidsoap Rolling Release 2.4.x

    The equivalent rolling channel for the 2.4.x branch, republishing pre-release assets for the stable line. Superseded now that the rolling tag has moved to 2.5.x.

    View source ↗
  3. 2mo ago

    Queue removal commands and O(1) clock propagation in Liquidsoap 2.4.5

    Queue removal commands and O(1) clock propagation. Maintenance-line work on the 2.4 branch, the kind of scaling fix that precedes the larger rewrite now staged in 2.5.

    View source ↗
  4. 4mo ago

    Liquidsoap 2.4.4 supersedes 2.4.3 days after release

    A fast follow-up that supersedes 2.4.3 days after it shipped. Corrective release with nothing new for users.

    View source ↗
  5. 4mo ago

    Raw string literals arrive in Liquidsoap 2.4.3

    Raw string literals arrive in the scripting language. Part of the same long push toward making Liquidsoap scripts easier to write at size that the 2.5 typing and interpolation work continues.

    View source ↗
  6. 7mo ago

    Liquidsoap 2.4.1 opens the stabilization phase

    Opens the stabilization phase for the 2.4 line. In hindsight it marks the point where feature work migrated to what has now surfaced as the 2.5 branch.

    View source ↗