Liquidsoap 2.1.4
This is the fourth follow-up release for the liquidsoap 2.1.x
release cycle!
This release brings more bugfix and stability to liquidsoap 2.1.x
users with a couple of new features as well.
New features are:
- More logging around streaming exceptions to help diagnostics of hard failures while streaming
- Support for
umask
to bring the full unix/posix file/directory permissions control the way everyone's used to - Added
buffer_length
method to buffers to help report and monitor buffer user (overrun/underrun, slow drain etc.)
The bugfixes include patch to prevent several situations that made the application crash under certain specific circumstances. Overall, we believe that this release should be a pretty stable iteration and highly recommend migrating to it. Make sure to always use a staging environment before updating your production systems!
We expect this release to be the last of the 2.1.x
release cycle. The current development branch is about to be forked as rolling-release-v2.2.x
and we should begin the stabilization process to bring that branch to a releasable state. There might still be bugfix releases on the 2.1.x
branch but only for critical issues.
Thanks for all y'all continuing use of liquidsoap!
Full Changelog:
2.1.4 (2022-03-02)
New:
- Added
buffer_length
method tobuffer
operator. - Always display error backtrace when a fatal exception
is raised in the streaming loop. - Added
umask()
to get the currentumask
andumask.set(...)
to set the currentumask
(#2840)
Changed:
- Add break when restarting the external process in
input.external.{rawaudio,rawvideo}
(#2860, #2872) - Removed
disconnect
method oninput.harbor
. This method was doing the same as
thestop
method. Addedshutdown
method to properly shutdown the
source even when not connected to an output. - Made process a string getter in
input.external.{rawaudio,rawvideo}
(#2877)
Fixed:
- Fixed parameter type for
stats_interval
in SRT I/O. - Fixed type generalization on variable and pattern bindings
(#2782) - Fixed memory leak in http requests (#2935)
- Make sure that exception raised in
request.dynamic
never crash
the process (#2897) - Fixed
filename
getter being called multiple time in
output.file
(#2842) - Space trim in interactive variables set on telnet (#2785)
- Fixed internal streaming logic in
max_duration
andcrossfade
. - Make sure that there's at most one metadata at any given
frame position (#2786) - Fixed
metadata.json.parse
always returns an empty list (#2816). - Fixed
icy_id
being ignored inoutput.shoutcast
(#2819) - Fixed shutdown livelock with some ffmpeg inline encoder,
decoder and filter operators. - Fixed input polling stop (#2769)
- Fixed parsed error report in
%include
directives (#2775) - Fixed crash in external processes when received a
Unix.EINTR
event (#2861) - Fixed crash in
string.interpolate
(#2883) - Cleaned up srt support.