savonet/liquidsoap

cue_in seek mismatch fail track load

Closed this issue · 5 comments

Description

hello

applying autocue seek (liq_cue_in) results in load fail and skip track.

05:00:07 [request.78:4] Pushed ["/path/to/file.mp3";...].
05:06:01 [request.78:4] Cueing in to position: 1.10
05:06:01 [request.78:3] Initial seek mismatch! Expected: 48510, effective: 6002892
05:06:01 [request.78:4] Currently on air.
05:06:01 [request.78:4] Request finished.

the log shows on air while it's actually skip tracks until (Cueing in to position: 0) .

Steps to reproduce

enable_autocue_metadata()

Expected behavior

load track at seek point

Liquidsoap version

2.2.5+dev

Liquidsoap build config

* Liquidsoap version  : 2.2.5+dev

 * Compilation options
   - Release build       : false
   - Git SHA             : (none)
   - OCaml version       : 4.14.0
   - OS type             : Unix
   - Libs versions       : angstrom=0.16.1 bigarray=[distributed with Ocaml] bigstringaf=0.10.0 bytes=[distributed with OCaml 4.02 or above] camlp-streams camomile.lib=2.0 cry=1.0.3 curl=0.9.2 dtools=0.4.5 dune-build-info=3.16.0 dune-private-libs.dune-section=3.16.0 dune-site=3.16.0 dune-site.private=3.16.0 duppy=0.9.4 fileutils=0.6.4 gen=1.1 lame=0.3.7 liquidsoap-lang=2.2.5 liquidsoap-lang.console=2.2.5 liquidsoap_builtins liquidsoap_core liquidsoap_lame liquidsoap_mad liquidsoap_ogg liquidsoap_optionals liquidsoap_opus liquidsoap_runtime liquidsoap_samplerate liquidsoap_ssl liquidsoap_taglib liquidsoap_vorbis mad=0.5.3 magic-mime=1.3.1 menhirLib=20211128 metadata=0.3.0 mm=0.8.5 mm.audio=0.8.5 mm.base=0.8.5 mm.image=0.8.5 mm.midi=0.8.5 mm.video=0.8.5 ogg=0.7.4 ogg.decoder=0.7.4 opus=0.2.2 opus.decoder=0.2.2 pcre=7.5.0 re=1.12.0 samplerate=0.1.6 sedlex=3.2 seq=[distributed with OCaml 4.07 or above] ssl=0.7.0 stdlib-shims=0.3.0 str=[distributed with Ocaml] stringext=1.6.0 taglib=0.3.10 threads=[distributed with Ocaml] threads.posix=[internal] unix=[distributed with Ocaml] uri=4.4.0 vorbis=0.8.0 vorbis.decoder=0.8.0
   - architecture        : amd64
   - host                : x86_64-apple-darwin18.7.0
   - target              : x86_64-apple-darwin18.7.0
   - system              : macosx
   - ocamlopt_cflags     : -O2 -fno-strict-aliasing -fwrapv -pthread
   - native_c_compiler   : cc -O2 -fno-strict-aliasing -fwrapv -pthread -D_FILE_OFFSET_BITS=64
   - native_c_libraries  : -lm

 * Configured paths
   - mode              : default
   - standard library  : (set by dune-site)
   - scripted binaries : (set by dune-site)
   - rundir            : (set by dune-site)
   - logdir            : (set by dune-site)
   - camomile files    : (set by dune-site)

 * Supported input formats
   - MP3               : yes
   - AAC               : no (requires faad)
   - Ffmpeg            : no (requires ffmpeg)
   - Flac (native)     : no (requires flac)
   - Flac (ogg)        : no (requires ogg)
   - Opus              : yes
   - Speex             : no (requires speex)
   - Theora            : no (requires theora)
   - Vorbis            : yes

 * Supported output formats
   - FDK-AAC           : no (requires fdkaac)
   - Ffmpeg            : no (requires ffmpeg)
   - MP3               : yes
   - MP3 (fixed-point) : no (requires shine)
   - Flac (native)     : no (requires flac)
   - Flac (ogg)        : no (requires ogg)
   - Opus              : yes
   - Speex             : no (requires speex)
   - Theora            : no (requires theora)
   - Vorbis            : yes

 * Tags
   - Taglib (ID3 tags) : yes
   - Vorbis            : yes

 * Input / output
   - ALSA              : no (requires alsa)
   - AO                : no (requires ao)
   - FFmpeg            : no (requires ffmpeg)
   - GStreamer         : no (requires gstreamer)
   - JACK              : no (requires bjack)
   - OSS               : no (requires oss)
   - Portaudio         : no (requires portaudio)
   - Pulseaudio        : no (requires pulseaudio)
   - SRT               : no (requires srt)

 * Audio manipulation
   - FFmpeg            : no (requires ffmpeg)
   - LADSPA            : no (requires ladspa)
   - Lilv              : no (requires lilv)
   - Samplerate        : yes
   - SoundTouch        : no (requires soundtouch)
   - StereoTool        : no (requires ctypes-foreign)

 * Video manipulation
   - camlimages        : no (requires camlimages)
   - FFmpeg            : no (requires ffmpeg)
   - frei0r            : no (requires frei0r)
   - ImageLib          : no (requires imagelib)
   - SDL               : no (requires tsdl-image & tsdl-ttf)

 * MIDI manipulation
   - DSSI              : no (requires dssi)

 * Visualization
   - GD                : no (requires gd)
   - Graphics          : no (requires graphics)
   - SDL               : no (requires tsdl-image & tsdl-ttf)

 * Additional libraries
   - FFmpeg filters    : no (requires ffmpeg)
   - FFmpeg devices    : no (requires ffmpeg)
   - inotify           : no (requires inotify)
   - irc               : no (requires irc-client-unix)
   - jemalloc          : no (requires jemalloc)
   - lastfm            : no (requires lastfm)
   - lo                : no (requires lo)
   - memtrace          : no (requires memtrace)
   - mem_usage         : no (requires mem_usage)
   - osc               : no (requires osc-unix)
   - ssl               : yes
   - tls               : no (requires tls-liquidsoap)
   - posix-time2       : no (requires posix)
   - windows service   : no (requires winsvc)
   - YAML support      : no (requires yaml)
   - XML playlists     : no (requires xmlplaylist)

 * Monitoring
   - Prometheus        : no (requires prometheus)

Installation method

From OPAM

Additional Info

No response

toots commented

Hi! I would recommend to install the ffmpeg decoder, seeking should be much more accurate with it.

toots commented

That being said, if you send me the track at toots@rastageeks.org I'd be happy to have a look as the issue. Thanks!

@toots many appreciations for the assist

will be checking the ffmpeg decoder, assuming that would be having ffmpeg installed on device and to set decoder to ffmpeg for liquidsoap?!

it’s not a certain track for a fact, it occurs at any track with silence in the beginning to skip with seek (through autocue).

For that I don’t think sending tracks would be required (all are mp3s).

toots commented

Ok! Yes, if you install ffmpeg via opam (I suppose), all you have to do is: opam install ffmpeg and the ffmpeg decoder will be used by default.

@toots With ffmpeg installed through opam it doesn’t fail load when cue_in is set

many appreciations for the assist