liquidsoap icon indicating copy to clipboard operation
liquidsoap copied to clipboard

Allow to control which dynamic plugins get loaded

Open toots opened this issue 2 years ago • 7 comments

Some of them have triggered segfault in the past and they slow down start time in some cases.

toots avatar Oct 13 '21 13:10 toots

I can take it, but do you have a suggestion about how we should specify this?

smimram avatar Oct 13 '21 16:10 smimram

It's a good question. Ideally we'd like to be able to list them so we can add the plugins to the API but only load them entirely if they are used.

I believe that this is not possible, in which can I'd suggest perhaps a settings that can also be controlled via a command line option?

For the default value, I'd say we should always be on the safe side so perhaps disable? Or be smart with it, e.g. always enable when doing -h so they can be listed and enable only when using lasdpa.* on the script side?

toots avatar Oct 13 '21 18:10 toots

Hi, I'm again confronted to this… Either I have to rely on liq-minimal (not sure how happy I'm about it), or I have to just … wait…

INFO: Loading Sdl_image, Target = linux
INFO: Loading Sdl_ttf, Target = linux
Liquidsoap 2.2.2
Copyright (c) 2003-2023 Savonet team
Liquidsoap is open-source software, released under GNU General Public License.
See <http://liquidsoap.info> for more information.
liquidsoap --version  3,25s user 0,15s system 76% cpu 4,441 total

That's 4s to do nothing. Granted, this is on a machine that has a lot of LADSPA/LV2 plugins available, so somehow expected (though I don't need anything related to it for most of my use-cases). I'm OK working around it, do we have an environment variable to switch liq out of /usr/lib/ladspa ? disable SDL? Do I really have to build liq specifically for that?

The most annoying part of that is for quick script parsing, and documentation checks, it makes it horrible and I usually give up after 3 tries…

INFO: Loading Sdl_image, Target = linux
INFO: Loading Sdl_ttf, Target = linux
liquidsoap -h output.file > /dev/null  8,87s user 0,18s system 99% cpu 9,055 total

gilou avatar Nov 15 '23 11:11 gilou

Can you show us the startup times? For instance here:

$ ./liquidsoap 'output.dummy(sine())'
2023/11/15 13:42:22 >>> LOG START
...
2023/11/15 13:42:22 [startup:3] DSSI plugins registration: 0.01s
2023/11/15 13:42:22 [startup:3] FFmpeg filters registration: 0.17s
2023/11/15 13:42:22 [startup:3] FFmpeg bitstream filters registration: 0.02s
2023/11/15 13:42:22 [startup:3] Lilv plugins registration: 0.17s
2023/11/15 13:42:22 [startup:3] Frei0r plugin registration: 0.04s
2023/11/15 13:42:22 [startup:3] LADSPA plugins registration: 0.02s
2023/11/15 13:42:22 [startup:3] Typechecking: 3.45s
2023/11/15 13:42:22 [startup:3] Evaluation: 0.01s
2023/11/15 13:42:22 [startup:3] Loaded ./src/libs/stdlib.liq: 3.65s
2023/11/15 13:42:22 [startup:3] Typechecking: 0.00s
2023/11/15 13:42:22 [startup:3] Evaluation: 0.00s

smimram avatar Nov 15 '23 12:11 smimram

I'm including my prompt timestamp so you get an idea of how bad it is ;) This machine has 100+ LADSPA plugins, 100+ LV2 plugins, maybe some other stuff. Liq installed from the GH actions assets.

 15:22:43  gilou@X395-19S  ~  17s 
$ liquidsoap 'output.dummy(sine())'
INFO: Loading Sdl_image, Target = linux
INFO: Loading Sdl_ttf, Target = linux
2023/11/15 15:23:40 >>> LOG START
2023/11/15 15:23:35 [main:3] Liquidsoap 2.2.2
2023/11/15 15:23:35 [main:3] Using: alsa=0.3.0 angstrom=0.15.0 ao=0.2.4 asetmap=0.8.1 asn1-combinators=0.2.6 astring=0.8.5 base64=3.5.1 bigarray=[distributed with OCaml] bigarray-compat=1.1.0 bigstringaf=0.9.1 bjack=0.1.6 bos=0.2.1 bytes=[distributed with OCaml] ca-certs=v0.2.3 camlimages.all_formats=4.2.6 camlimages.core=5.0.4 camlimages.exif=5.0.4 camlimages.gif=5.0.4 camlimages.jpeg=5.0.4 camlimages.png=5.0.4 camlimages.tiff=5.0.4 camlimages.xpm=5.0.4 camlp-streams camomile.lib=2.0 cohttp=5.1.0 cohttp-lwt=5.1.0 cohttp-lwt-unix=5.1.0 conduit=6.2.0 conduit-lwt=6.2.0 conduit-lwt-unix=6.2.0 cry=1.0.2 cstruct=6.2.0 ctypes=0.20.2 ctypes.foreign=0.20.2 ctypes.stubs=0.20.2 curl=0.9.2 domain-name=0.4.0 dssi=0.1.5 dtools=0.4.5 dune-build-info=3.8.2 dune-private-libs.dune-section=3.8.2 dune-site=3.8.2 dune-site.private=3.8.2 duppy=0.9.3 eqaf=0.9 eqaf.bigstring=0.9 eqaf.cstruct=0.9 faad=0.5.2 fdkaac=0.3.3 ffmpeg-av=1.1.9 ffmpeg-avcodec=1.1.9 ffmpeg-avdevice=1.1.9 ffmpeg-avfilter=1.1.9 ffmpeg-avutil=1.1.9 ffmpeg-swresample=1.1.9 ffmpeg-swscale=1.1.9 fileutils=0.6.4 flac=0.5.0 flac.decoder=0.5.0 flac.ogg=0.5.0 fmt=0.9.0 fpath=0.7.3 frei0r=0.1.2 gd=1.0a5 gen=1.1 gmap=0.3.0 hkdf=1.0.4 inotify=2.4.1 integers ipaddr=5.5.0 ipaddr-sexp=5.5.0 ipaddr.unix=5.5.0 irc-client irc-client-unix jemalloc ladspa=0.2.2 lame=0.3.7 lastfm=0.3.3 lilv=0.1.0 liquidsoap-lang=2.2.2 liquidsoap-lang.console=2.2.2 liquidsoap_alsa=v2.2.2-1-g93f305b liquidsoap_ao=v2.2.2-1-g93f305b liquidsoap_bjack=v2.2.2-1-g93f305b liquidsoap_builtins=v2.2.2-1-g93f305b liquidsoap_camlimages=v2.2.2-1-g93f305b liquidsoap_core=v2.2.2-1-g93f305b liquidsoap_dssi=v2.2.2-1-g93f305b liquidsoap_faad=v2.2.2-1-g93f305b liquidsoap_fdkaac=v2.2.2-1-g93f305b liquidsoap_ffmpeg=v2.2.2-1-g93f305b liquidsoap_flac=v2.2.2-1-g93f305b liquidsoap_frei0r=v2.2.2-1-g93f305b liquidsoap_gd=v2.2.2-1-g93f305b liquidsoap_irc=v2.2.2-1-g93f305b liquidsoap_jemalloc=v2.2.2-1-g93f305b liquidsoap_ladspa=v2.2.2-1-g93f305b liquidsoap_lame=v2.2.2-1-g93f305b liquidsoap_lastfm=v2.2.2-1-g93f305b liquidsoap_lilv=v2.2.2-1-g93f305b liquidsoap_lo=v2.2.2-1-g93f305b liquidsoap_mad=v2.2.2-1-g93f305b liquidsoap_magic=v2.2.2-1-g93f305b liquidsoap_mem_usage=v2.2.2-1-g93f305b liquidsoap_memtrace=v2.2.2-1-g93f305b liquidsoap_ogg=v2.2.2-1-g93f305b liquidsoap_ogg_flac=v2.2.2-1-g93f305b liquidsoap_optionals=v2.2.2-1-g93f305b liquidsoap_opus=v2.2.2-1-g93f305b liquidsoap_osc=v2.2.2-1-g93f305b liquidsoap_oss=v2.2.2-1-g93f305b liquidsoap_portaudio=v2.2.2-1-g93f305b liquidsoap_posix_time=v2.2.2-1-g93f305b liquidsoap_prometheus=v2.2.2-1-g93f305b liquidsoap_pulseaudio=v2.2.2-1-g93f305b liquidsoap_runtime=v2.2.2-1-g93f305b liquidsoap_samplerate=v2.2.2-1-g93f305b liquidsoap_sdl=v2.2.2-1-g93f305b liquidsoap_shine=v2.2.2-1-g93f305b liquidsoap_soundtouch=v2.2.2-1-g93f305b liquidsoap_speex=v2.2.2-1-g93f305b liquidsoap_srt=v2.2.2-1-g93f305b liquidsoap_ssl=v2.2.2-1-g93f305b liquidsoap_stereotool=v2.2.2-1-g93f305b liquidsoap_taglib=v2.2.2-1-g93f305b liquidsoap_theora=v2.2.2-1-g93f305b liquidsoap_tls=v2.2.2-1-g93f305b liquidsoap_vorbis=v2.2.2-1-g93f305b liquidsoap_xmlplaylist=v2.2.2-1-g93f305b liquidsoap_yaml=v2.2.2-1-g93f305b lo=0.2.0 logs=0.7.0 logs.fmt=0.7.0 logs.lwt=0.7.0 lwt=5.6.1 lwt.unix=5.6.1 macaddr=5.5.0 mad=0.5.3 magic=0.7.3 magic-mime=1.3.0 mem_usage=0.0.4 memtrace=0.2.3 menhirLib=20230608 metadata=0.2.0 mirage-crypto=0.11.1 mirage-crypto-ec=0.11.1 mirage-crypto-pk=0.11.1 mirage-crypto-rng=0.11.1 mirage-crypto-rng.unix=0.11.1 mm=0.8.4 mm.audio=0.8.4 mm.base=0.8.4 mm.image=0.8.4 mm.midi=0.8.4 mm.video=0.8.4 ocplib-endian ocplib-endian.bigstring ogg=0.7.4 ogg.decoder=0.7.4 opus=0.2.3 opus.decoder=0.2.3 osc osc-unix parsexp=v0.16.0 pbkdf pcre=7.5.0 portaudio=0.2.3 posix-base=b516d46 posix-socket=b516d46 posix-socket.constants=b516d46 posix-socket.stubs=b516d46 posix-socket.types=b516d46 posix-time2=b516d46 posix-time2.constants=b516d46 posix-time2.stubs=b516d46 posix-time2.types=b516d46 posix-types=b516d46 posix-types.constants=b516d46 ppx_sexp_conv.runtime-lib=v0.16.0 prometheus=1.2 prometheus-app=1.2 ptime=1.1.0 ptime.clock.os=1.1.0 pulseaudio=0.1.6 re=1.10.4 result=1.5 rresult=0.7.0 samplerate=0.1.7 sedlex=a1362bd seq=[distributed with OCaml 4.07 or above] sexplib=v0.16.0 sexplib0=v0.16.0 shine=0.2.3 soundtouch=0.1.9 speex=0.4.2 speex.decoder=0.4.2 srt=0.3.0 srt.constants=0.3.0 srt.stubs=0.3.0 srt.stubs.locked=0.3.0 srt.types=0.3.0 ssl=0.7.0 stdlib-shims=0.3.0 stereotool=v2.2.2-1-g93f305b str=[distributed with OCaml] stringext=1.6.0 taglib=0.3.10 theora=0.4.1 theora.decoder=0.4.1 threads=[distributed with OCaml] threads.posix=[distributed with OCaml] tls=0.17.0 tsdl=v1.0.0 tsdl-image=0.5 tsdl-ttf=0.5 unix=[distributed with OCaml] unix-errno=52c6ecb unix-errno.errno_bindings=52c6ecb unix-errno.errno_types=52c6ecb unix-errno.errno_types_detected=52c6ecb unix-errno.unix=52c6ecb uri=4.2.0 uri-sexp=4.2.0 uri.services=4.2.0 vorbis=0.8.1 vorbis.decoder=0.8.1 x509=0.16.4 xmlm=1.4.0 xmlplaylist=0.1.5 yaml=3.1.0 yaml.bindings=3.1.0 yaml.bindings.types=3.1.0 yaml.c=3.1.0 yaml.ffi=3.1.0 yaml.types=3.1.0 zarith=1.12
2023/11/15 15:23:35 [clock:3] Using native (high-precision) implementation for latency control
2023/11/15 15:23:40 [main:3] Standard library loaded in 5.22 seconds.
2023/11/15 15:23:40 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz main.
2023/11/15 15:23:40 [frame:3] Video frame size set to: 1280x720
2023/11/15 15:23:40 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2023/11/15 15:23:40 [frame:3] Targeting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2023/11/15 15:23:40 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2023/11/15 15:23:40 [sandbox:3] Sandboxing disabled
2023/11/15 15:23:40 [startup:3] DSSI plugins registration: 0.00s
2023/11/15 15:23:40 [startup:3] FFmpeg filters registration: 0.02s
2023/11/15 15:23:40 [startup:3] FFmpeg bitstream filters registration: 0.00s
2023/11/15 15:23:40 [startup:3] Lilv plugins registration: 1.98s
2023/11/15 15:23:40 [startup:3] Frei0r plugin registration: 0.07s
2023/11/15 15:23:40 [startup:3] LADSPA plugins registration: 1.06s
2023/11/15 15:23:40 [startup:3] Typechecking: 4.88s
2023/11/15 15:23:40 [startup:3] Evaluation: 0.01s
2023/11/15 15:23:40 [startup:3] Typechecking: 0.09s
2023/11/15 15:23:40 [startup:3] Evaluation: 0.00s
2023/11/15 15:23:40 [startup:3] Typechecking: 0.00s
2023/11/15 15:23:40 [startup:3] Evaluation: 0.00s
2023/11/15 15:23:40 [dummy:3] Content type is {audio=pcm(stereo)}.
2023/11/15 15:23:40 [sine:3] Content type is {audio=pcm(stereo)}.
2023/11/15 15:23:40 [video.converter:3] Using preferred video converter: ffmpeg.
2023/11/15 15:23:40 [audio.converter:3] Using samplerate converter: libsamplerate.
2023/11/15 15:23:40 [clock.main:3] Streaming loop starts in auto-sync mode
2023/11/15 15:23:40 [clock.main:3] Delegating synchronization to CPU clock
2023/11/15 15:23:40 [video.text:3] Using sdl implementation


^C2023/11/15 15:23:49 [main:3] Shutdown signal received.
2023/11/15 15:23:49 [threads:3] Main loop exited
2023/11/15 15:23:49 [main:3] Shutdown started!
2023/11/15 15:23:49 [threads:3] Waiting for main threads to terminate...
2023/11/15 15:23:49 [clock.main:3] Streaming loop stopped.
2023/11/15 15:23:49 [threads:3] Main threads terminated.
2023/11/15 15:23:49 [threads:3] Shutting down scheduler...
2023/11/15 15:23:49 [threads:3] Scheduler shut down.
2023/11/15 15:23:49 [main:3] Cleaning downloaded files...
2023/11/15 15:23:49 [main:3] Freeing memory...
2023/11/15 15:23:49 >>> LOG END

gilou avatar Nov 15 '23 14:11 gilou

Oops, that was a late try, it's not 1 minute from shell start, but I still get 6-15s between the actual call, and the LOG START. Actual one, with the shell timestamp accurate at 1s tops:


 15:32:55  ✘  gilou@X395-19S  ~ 
$ liquidsoap 'output.dummy(sine())'
INFO: Loading Sdl_image, Target = linux
INFO: Loading Sdl_ttf, Target = linux
2023/11/15 15:33:05 >>> LOG START
2023/11/15 15:32:59 [main:3] Liquidsoap 2.2.2
2023/11/15 15:32:59 [main:3] Using: alsa=0.3.0 angstrom=0.15.0 ao=0.2.4 asetmap=0.8.1 asn1-combinators=0.2.6 astring=0.8.5 base64=3.5.1 bigarray=[distributed with OCaml] bigarray-compat=1.1.0 bigstringaf=0.9.1 bjack=0.1.6 bos=0.2.1 bytes=[distributed with OCaml] ca-certs=v0.2.3 camlimages.all_formats=4.2.6 camlimages.core=5.0.4 camlimages.exif=5.0.4 camlimages.gif=5.0.4 camlimages.jpeg=5.0.4 camlimages.png=5.0.4 camlimages.tiff=5.0.4 camlimages.xpm=5.0.4 camlp-streams camomile.lib=2.0 cohttp=5.1.0 cohttp-lwt=5.1.0 cohttp-lwt-unix=5.1.0 conduit=6.2.0 conduit-lwt=6.2.0 conduit-lwt-unix=6.2.0 cry=1.0.2 cstruct=6.2.0 ctypes=0.20.2 ctypes.foreign=0.20.2 ctypes.stubs=0.20.2 curl=0.9.2 domain-name=0.4.0 dssi=0.1.5 dtools=0.4.5 dune-build-info=3.8.2 dune-private-libs.dune-section=3.8.2 dune-site=3.8.2 dune-site.private=3.8.2 duppy=0.9.3 eqaf=0.9 eqaf.bigstring=0.9 eqaf.cstruct=0.9 faad=0.5.2 fdkaac=0.3.3 ffmpeg-av=1.1.9 ffmpeg-avcodec=1.1.9 ffmpeg-avdevice=1.1.9 ffmpeg-avfilter=1.1.9 ffmpeg-avutil=1.1.9 ffmpeg-swresample=1.1.9 ffmpeg-swscale=1.1.9 fileutils=0.6.4 flac=0.5.0 flac.decoder=0.5.0 flac.ogg=0.5.0 fmt=0.9.0 fpath=0.7.3 frei0r=0.1.2 gd=1.0a5 gen=1.1 gmap=0.3.0 hkdf=1.0.4 inotify=2.4.1 integers ipaddr=5.5.0 ipaddr-sexp=5.5.0 ipaddr.unix=5.5.0 irc-client irc-client-unix jemalloc ladspa=0.2.2 lame=0.3.7 lastfm=0.3.3 lilv=0.1.0 liquidsoap-lang=2.2.2 liquidsoap-lang.console=2.2.2 liquidsoap_alsa=v2.2.2-1-g93f305b liquidsoap_ao=v2.2.2-1-g93f305b liquidsoap_bjack=v2.2.2-1-g93f305b liquidsoap_builtins=v2.2.2-1-g93f305b liquidsoap_camlimages=v2.2.2-1-g93f305b liquidsoap_core=v2.2.2-1-g93f305b liquidsoap_dssi=v2.2.2-1-g93f305b liquidsoap_faad=v2.2.2-1-g93f305b liquidsoap_fdkaac=v2.2.2-1-g93f305b liquidsoap_ffmpeg=v2.2.2-1-g93f305b liquidsoap_flac=v2.2.2-1-g93f305b liquidsoap_frei0r=v2.2.2-1-g93f305b liquidsoap_gd=v2.2.2-1-g93f305b liquidsoap_irc=v2.2.2-1-g93f305b liquidsoap_jemalloc=v2.2.2-1-g93f305b liquidsoap_ladspa=v2.2.2-1-g93f305b liquidsoap_lame=v2.2.2-1-g93f305b liquidsoap_lastfm=v2.2.2-1-g93f305b liquidsoap_lilv=v2.2.2-1-g93f305b liquidsoap_lo=v2.2.2-1-g93f305b liquidsoap_mad=v2.2.2-1-g93f305b liquidsoap_magic=v2.2.2-1-g93f305b liquidsoap_mem_usage=v2.2.2-1-g93f305b liquidsoap_memtrace=v2.2.2-1-g93f305b liquidsoap_ogg=v2.2.2-1-g93f305b liquidsoap_ogg_flac=v2.2.2-1-g93f305b liquidsoap_optionals=v2.2.2-1-g93f305b liquidsoap_opus=v2.2.2-1-g93f305b liquidsoap_osc=v2.2.2-1-g93f305b liquidsoap_oss=v2.2.2-1-g93f305b liquidsoap_portaudio=v2.2.2-1-g93f305b liquidsoap_posix_time=v2.2.2-1-g93f305b liquidsoap_prometheus=v2.2.2-1-g93f305b liquidsoap_pulseaudio=v2.2.2-1-g93f305b liquidsoap_runtime=v2.2.2-1-g93f305b liquidsoap_samplerate=v2.2.2-1-g93f305b liquidsoap_sdl=v2.2.2-1-g93f305b liquidsoap_shine=v2.2.2-1-g93f305b liquidsoap_soundtouch=v2.2.2-1-g93f305b liquidsoap_speex=v2.2.2-1-g93f305b liquidsoap_srt=v2.2.2-1-g93f305b liquidsoap_ssl=v2.2.2-1-g93f305b liquidsoap_stereotool=v2.2.2-1-g93f305b liquidsoap_taglib=v2.2.2-1-g93f305b liquidsoap_theora=v2.2.2-1-g93f305b liquidsoap_tls=v2.2.2-1-g93f305b liquidsoap_vorbis=v2.2.2-1-g93f305b liquidsoap_xmlplaylist=v2.2.2-1-g93f305b liquidsoap_yaml=v2.2.2-1-g93f305b lo=0.2.0 logs=0.7.0 logs.fmt=0.7.0 logs.lwt=0.7.0 lwt=5.6.1 lwt.unix=5.6.1 macaddr=5.5.0 mad=0.5.3 magic=0.7.3 magic-mime=1.3.0 mem_usage=0.0.4 memtrace=0.2.3 menhirLib=20230608 metadata=0.2.0 mirage-crypto=0.11.1 mirage-crypto-ec=0.11.1 mirage-crypto-pk=0.11.1 mirage-crypto-rng=0.11.1 mirage-crypto-rng.unix=0.11.1 mm=0.8.4 mm.audio=0.8.4 mm.base=0.8.4 mm.image=0.8.4 mm.midi=0.8.4 mm.video=0.8.4 ocplib-endian ocplib-endian.bigstring ogg=0.7.4 ogg.decoder=0.7.4 opus=0.2.3 opus.decoder=0.2.3 osc osc-unix parsexp=v0.16.0 pbkdf pcre=7.5.0 portaudio=0.2.3 posix-base=b516d46 posix-socket=b516d46 posix-socket.constants=b516d46 posix-socket.stubs=b516d46 posix-socket.types=b516d46 posix-time2=b516d46 posix-time2.constants=b516d46 posix-time2.stubs=b516d46 posix-time2.types=b516d46 posix-types=b516d46 posix-types.constants=b516d46 ppx_sexp_conv.runtime-lib=v0.16.0 prometheus=1.2 prometheus-app=1.2 ptime=1.1.0 ptime.clock.os=1.1.0 pulseaudio=0.1.6 re=1.10.4 result=1.5 rresult=0.7.0 samplerate=0.1.7 sedlex=a1362bd seq=[distributed with OCaml 4.07 or above] sexplib=v0.16.0 sexplib0=v0.16.0 shine=0.2.3 soundtouch=0.1.9 speex=0.4.2 speex.decoder=0.4.2 srt=0.3.0 srt.constants=0.3.0 srt.stubs=0.3.0 srt.stubs.locked=0.3.0 srt.types=0.3.0 ssl=0.7.0 stdlib-shims=0.3.0 stereotool=v2.2.2-1-g93f305b str=[distributed with OCaml] stringext=1.6.0 taglib=0.3.10 theora=0.4.1 theora.decoder=0.4.1 threads=[distributed with OCaml] threads.posix=[distributed with OCaml] tls=0.17.0 tsdl=v1.0.0 tsdl-image=0.5 tsdl-ttf=0.5 unix=[distributed with OCaml] unix-errno=52c6ecb unix-errno.errno_bindings=52c6ecb unix-errno.errno_types=52c6ecb unix-errno.errno_types_detected=52c6ecb unix-errno.unix=52c6ecb uri=4.2.0 uri-sexp=4.2.0 uri.services=4.2.0 vorbis=0.8.1 vorbis.decoder=0.8.1 x509=0.16.4 xmlm=1.4.0 xmlplaylist=0.1.5 yaml=3.1.0 yaml.bindings=3.1.0 yaml.bindings.types=3.1.0 yaml.c=3.1.0 yaml.ffi=3.1.0 yaml.types=3.1.0 zarith=1.12
2023/11/15 15:32:59 [clock:3] Using native (high-precision) implementation for latency control
2023/11/15 15:33:04 [main:3] Standard library loaded in 5.23 seconds.
2023/11/15 15:33:05 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz main.
2023/11/15 15:33:05 [frame:3] Video frame size set to: 1280x720
2023/11/15 15:33:05 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2023/11/15 15:33:05 [frame:3] Targeting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2023/11/15 15:33:05 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2023/11/15 15:33:05 [sandbox:3] Sandboxing disabled
2023/11/15 15:33:05 [startup:3] DSSI plugins registration: 0.00s
2023/11/15 15:33:05 [startup:3] FFmpeg filters registration: 0.02s
2023/11/15 15:33:05 [startup:3] FFmpeg bitstream filters registration: 0.00s
2023/11/15 15:33:05 [startup:3] Lilv plugins registration: 1.97s
2023/11/15 15:33:05 [startup:3] Frei0r plugin registration: 0.07s
2023/11/15 15:33:05 [startup:3] LADSPA plugins registration: 1.25s
2023/11/15 15:33:05 [startup:3] Typechecking: 4.87s
2023/11/15 15:33:05 [startup:3] Evaluation: 0.01s
2023/11/15 15:33:05 [startup:3] Typechecking: 0.10s
2023/11/15 15:33:05 [startup:3] Evaluation: 0.00s
2023/11/15 15:33:05 [startup:3] Typechecking: 0.00s
2023/11/15 15:33:05 [startup:3] Evaluation: 0.00s
2023/11/15 15:33:05 [dummy:3] Content type is {audio=pcm(stereo)}.
2023/11/15 15:33:05 [sine:3] Content type is {audio=pcm(stereo)}.
2023/11/15 15:33:05 [video.converter:3] Using preferred video converter: ffmpeg.
2023/11/15 15:33:05 [audio.converter:3] Using samplerate converter: libsamplerate.
2023/11/15 15:33:05 [clock.main:3] Streaming loop starts in auto-sync mode
2023/11/15 15:33:05 [clock.main:3] Delegating synchronization to CPU clock
2023/11/15 15:33:05 [video.text:3] Using sdl implementation


^C2023/11/15 15:33:18 [main:3] Shutdown signal received.
2023/11/15 15:33:18 [threads:3] Main loop exited
2023/11/15 15:33:18 [main:3] Shutdown started!
2023/11/15 15:33:18 [threads:3] Waiting for main threads to terminate...
2023/11/15 15:33:18 [clock.main:3] Streaming loop stopped.
2023/11/15 15:33:18 [threads:3] Main threads terminated.
2023/11/15 15:33:18 [threads:3] Shutting down scheduler...
2023/11/15 15:33:18 [threads:3] Scheduler shut down.
2023/11/15 15:33:18 [main:3] Cleaning downloaded files...
2023/11/15 15:33:18 [main:3] Freeing memory...
2023/11/15 15:33:18 >>> LOG END

gilou avatar Nov 15 '23 14:11 gilou

This is my Ubuntu 22.04.3 laptop, with a Ryzen 7 PRO 3700U CPU, with 1.4 GB of free RAM out of 16 GB, running on a pretty decent SSD. But it has many ladspa/lv2 plugins available, indeed ;)

Here is the same through strace if that brings any interesting information.

$ strace -o /tmp/liq.log --timestamps liquidsoap 'output.dummy(sine())'
INFO: Loading Sdl_image, Target = linux
INFO: Loading Sdl_ttf, Target = linux
2023/11/15 15:40:13 >>> LOG START
2023/11/15 15:40:07 [main:3] Liquidsoap 2.2.2
[…]

liq.log

gilou avatar Nov 15 '23 14:11 gilou