savonet / ocaml-lame

OCaml bindings to the LAME mp3 encoder.
http://liquidsoap.info/
GNU General Public License v2.0
4 stars 1 forks source link

Liquidsoap 2.0.4 freezing after some hours running #5

Open caf2022 opened 2 years ago

caf2022 commented 2 years ago

After somente hours running the liquidsoap freezes and stop playing and disconnect from the shoutcast. The last logs before freezes are:

2022/07/03 16:17:00 [cross_0_before:4] Fading out with 2.s remaining.
2022/07/03 16:17:02 [buffer_205:4] Buffer emptied, buffering needed.
2022/07/03 16:17:02 [buffer_204:4] Buffer emptied, buffering needed.
2022/07/03 16:17:02 [source:4] Source add_104 gets down.
2022/07/03 16:17:02 [source:4] Source fade.in gets down.
2022/07/03 16:17:02 [source:4] Source fade.in gets down.
2022/07/03 16:17:02 [source:4] Source cross_0_after gets down.
2022/07/03 16:17:02 [source:4] Source buffer_205 gets down.
2022/07/03 16:17:02 [source:4] Source fade.out gets down.
2022/07/03 16:17:02 [source:4] Source fade.out gets down.
2022/07/03 16:17:02 [source:4] Source on_end_102 gets down.
2022/07/03 16:17:02 [source:4] Source cross_0_before gets down.
2022/07/03 16:17:02 [source:4] Source buffer_204 gets down.
2022/07/03 16:17:02 [cross_0:4] Buffering end of track...
2022/07/03 16:17:02 [cross_0:4] More buffering will be needed.
2022/07/03 16:20:05 [decoder:4] Decoding "/home/musica.mp3" ended: Ffmpeg_decoder.End_of_file.
2022/07/03 16:20:05 [decoder:4] Raised at Ffmpeg_decoder.mk_decoder.(fun).f in file "decoder/ffmpeg_decoder.ml", line 691, characters 12-29
2022/07/03 16:20:05 [decoder:4] Called from Decoder.mk_decoder.fill in file "decoder/decoder.ml", line 500, characters 10-31
2022/07/03 16:20:05 [decoder:4] 
2022/07/03 16:20:06 [6892.pls:4] Finished with "/home/musica.mp3".
2022/07/03 16:20:06 [6892.pls:4] Remaining 0 requests
toots commented 2 years ago

Hi. Thanks for the report. What OS are you using? I on linux, have you ever used gdb? This should alllow us to get a stack trace of the freeze:

% gdb -p <liquidsoap process PID>
> thread apply all bt
caf2022 commented 2 years ago

The process is terminating with Segmentation fault (core dumped) but after somente hours running, yesterday run fine but today stopped still.

I'm using Centos 7 64bits with LS 2.0.4 installed with opam

2022/07/07 10:45:42 [decoder:4] Available decoders: FFMPEG (priority: 10), MAD (priority: 1)
2022/07/07 10:45:42 [decoder.ffmpeg:4] ffmpeg recognizes /home/006.mp3 as: audio: {codec: mp3, 44100Hz, 2 channel(s)}, video: {codec: mjpeg, 200x200, yuvj420p} and content-type: {audio=pcm(stereo),video=yuva420p,midi=none}.
2022/07/07 10:45:42 [decoder:4] Selected decoder FFMPEG for file "/home/006.mp3" with expected kind {audio=pcm(stereo),video=none,midi=none} and detected content {audio=pcm(stereo),video=yuva420p,midi=none}
2022/07/07 10:45:42 [7058.pls:4] Queued 1 requests
2022/07/07 10:45:42 [lang:3] Musica Atual(manual): 026
2022/07/07 10:45:42 [source:4] Source add_24 gets down.
2022/07/07 10:45:42 [source:4] Source fade.in gets down.
2022/07/07 10:45:42 [source:4] Source fade.in gets down.
2022/07/07 10:45:42 [source:4] Source cross_0_after gets down.
2022/07/07 10:45:42 [source:4] Source buffer_45 gets down.
2022/07/07 10:45:42 [source:4] Source fade.out gets down.
2022/07/07 10:45:42 [source:4] Source fade.out gets down.
2022/07/07 10:45:42 [source:4] Source on_end_22 gets down.
2022/07/07 10:45:42 [source:4] Source cross_0_before gets down.
2022/07/07 10:45:42 [source:4] Source buffer_44 gets down.
2022/07/07 10:45:42 [cross_0:4] Buffering end of track...
2022/07/07 10:45:42 [cross_0:4] More buffering will be needed.
Segmentation fault (core dumped)

On the system logs showed this:

Jul 7 10:46:02 vmi371029 kernel: liquidsoap[11508]: segfault at 7f2d4634b4d4 ip 00007f2e94038807 sp 00007f2e848c7ba8 error 4 in libmp3lame.so.0.0.0[7f2e94002000+5f000]

caf2022 commented 2 years ago

image

caf2022 commented 2 years ago

The result of running this command gdb liquidsoap -c core.11502

This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/streaming/liquidsoap/liquidsoap...done.
[New LWP 11508]
[New LWP 11509]
[New LWP 11506]
[New LWP 11502]
[New LWP 11507]
[New LWP 11512]
[New LWP 11511]
[New LWP 11505]
[New LWP 11510]

warning: Loadable section ".note.gnu.property" outside of ELF segments
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/home/streaming/liquidsoap/liquidsoap /home/streaming/configs/autodj-7058.conf'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f2e94038807 in quantize_lines_xrpow () from /usr/local/lib/libmp3lame.so.0
Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.26-23.el7.x86_64 faad2-libs-2.7-5.el7.nux.x86_64 fdk-aac-0.1.4-1.x86_64 flac-libs-1.3.0-5.el7_1.x86_64 glibc-2.17-323.el7_9.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-37.el7_7.2.x86_64 ladspa-1.13-12.el7.x86_64 libXau-1.0.8-2.1.el7.x86_64 libcom_err-1.42.9-16.el7.x86_64 libcurl-7.83.0-1.0.cf.rhel7.x86_64 libgcc-4.8.5-44.el7.x86_64 libicu-50.2-4.el7_7.x86_64 libmad-0.15.1b-26.el7.x86_64 libnghttp2-1.33.0-1.1.el7.x86_64 libogg-1.3.0-7.el7.x86_64 libpsl-0.7.0-1.el7.x86_64 libsamplerate-0.1.9-1.el8.x86_64 libselinux-2.5-14.1.el7.x86_64 libssh2-1.10.0-4.0.cf.rhel7.x86_64 libstdc++-4.8.5-44.el7.x86_64 libtheora-1.1.1-8.el7.x86_64 libvorbis-1.3.3-8.el7.1.x86_64 libxcb-1.13-1.el7.x86_64 nspr-4.32.0-1.el7_9.x86_64 nss-3.67.0-4.el7_9.x86_64 nss-softokn-freebl-3.67.0-3.el7_9.x86_64 nss-util-3.67.0-1.el7_9.x86_64 openldap-2.4.44-21.el7_6.x86_64 openssl-libs-1.0.2k-25.el7_9.x86_64 opus-1.0.2-6.el7.x86_64 pcre-8.32-17.el7.x86_64 speex-1.2-0.19.rc1.el7.x86_64 taglib-1.8-8.20130218git.el7.x86_64 zlib-1.2.7-19.el7_9.x86_64
toots commented 2 years ago

Can you also run the same command to show the stacktrace:

% gdb liquidsoap -c core.11502
> thread apply all bt

Thanks!

caf2022 commented 2 years ago
Thread 9 (Thread 0x7f2e7f7fe700 (LWP 11510)):
#0  0x00007f2e9272aa35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
savonet/liquidsoap#1  0x00000000009a62fc in st_condvar_wait (m=0x1dc4260, c=0x7f2e680028d0) at st_posix.h:290
savonet/liquidsoap#2  caml_condition_wait (wcond=139837803953184, wmut=139837881488080) at st_stubs.c:884
savonet/liquidsoap#3  0x00000000008b86b1 in camlDuppy__f_979 () at src/duppy.ml:341
savonet/liquidsoap#4  0x00000000008b8310 in camlDuppy__queue_inner_2692 () at src/duppy.ml:357
savonet/liquidsoap#5  0x00000000007c06a3 in camlTutils__process_831 () at tools/tutils.ml:164
savonet/liquidsoap#6  0x00000000008f4375 in camlThread__fun_850 () at thread.ml:49
savonet/liquidsoap#7  0x00000000009cc84d in caml_start_program ()
savonet/liquidsoap#8  0x00000000009c28fd in caml_callback_exn (closure=closure@entry=139837882629248, arg=arg@entry=1) at callback.c:111
savonet/liquidsoap#9  0x00000000009a5a8e in caml_thread_start (arg=0x7f2e80006340) at st_stubs.c:548
savonet/liquidsoap#10 0x00007f2e92726ea5 in start_thread () from /lib64/libpthread.so.0
savonet/liquidsoap#11 0x00007f2e920359fd in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7f2e860f6700 (LWP 11505)):
#0  0x00007f2e9272aa35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
savonet/liquidsoap#1  0x00000000009a62fc in st_condvar_wait (m=0x1d63910, c=0x1d63940) at st_posix.h:290
savonet/liquidsoap#2  caml_condition_wait (wcond=139837881832752, wmut=139837881832776) at st_stubs.c:884
savonet/liquidsoap#3  0x00000000008c2682 in camlDtools__Dtools_impl__fun_2783 () at src/dtools_impl.ml:734
savonet/liquidsoap#4  0x00000000008c243b in camlDtools__Dtools_impl__mutexify_1595 () at src/dtools_impl.ml:702
savonet/liquidsoap#5  0x00000000008c2614 in camlDtools__Dtools_impl__f_1615 () at src/dtools_impl.ml:730
savonet/liquidsoap#6  0x00000000008f4375 in camlThread__fun_850 () at thread.ml:49
savonet/liquidsoap#7  0x00000000009cc84d in caml_start_program ()
savonet/liquidsoap#8  0x00000000009c28fd in caml_callback_exn (closure=closure@entry=139837883450312, arg=arg@entry=1) at callback.c:111
savonet/liquidsoap#9  0x00000000009a5a8e in caml_thread_start (arg=0x1d753f0) at st_stubs.c:548
savonet/liquidsoap#10 0x00007f2e92726ea5 in start_thread () from /lib64/libpthread.so.0
savonet/liquidsoap#11 0x00007f2e920359fd in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7f2e7effd700 (LWP 11511)):
#0  0x00007f2e9202accd in poll () from /lib64/libc.so.6
savonet/liquidsoap#1  0x0000000000997fd1 in caml_poll (_read=139837883085808, _write=17074312, _err=17074312, _timeout=<optimized out>) at duppy_stubs.c:95
savonet/liquidsoap#2  0x00000000008b6ad0 in camlDuppy__poll_485 () at src/duppy.ml:37
savonet/liquidsoap#3  0x00000000008b7c30 in camlDuppy__f_891 () at src/duppy.ml:208
savonet/liquidsoap#4  0x00000000008b782b in camlDuppy__process_881 () at src/duppy.ml:229
savonet/liquidsoap#5  0x00000000008b858d in camlDuppy__f_979 () at src/duppy.ml:326
savonet/liquidsoap#6  0x00000000008b8310 in camlDuppy__queue_inner_2692 () at src/duppy.ml:357
savonet/liquidsoap#7  0x00000000007c06a3 in camlTutils__process_831 () at tools/tutils.ml:164
savonet/liquidsoap#8  0x00000000008f4375 in camlThread__fun_850 () at thread.ml:49
savonet/liquidsoap#9  0x00000000009cc84d in caml_start_program ()
savonet/liquidsoap#10 0x00000000009c28fd in caml_callback_exn (closure=closure@entry=139837882627408, arg=arg@entry=1) at callback.c:111
savonet/liquidsoap#11 0x00000000009a5a8e in caml_thread_start (arg=0x7f2e80006730) at st_stubs.c:548
---Type <return> to continue, or q <return> to quit---
savonet/liquidsoap#12 0x00007f2e92726ea5 in start_thread () from /lib64/libpthread.so.0
savonet/liquidsoap#13 0x00007f2e920359fd in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f2e7e7fc700 (LWP 11512)):
#0  0x00007f2e9272aa35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
savonet/liquidsoap#1  0x00000000009a62fc in st_condvar_wait (m=0x1dc4260, c=0x7f2e780028d0) at st_posix.h:290
savonet/liquidsoap#2  caml_condition_wait (wcond=139837803953088, wmut=139837881488080) at st_stubs.c:884
savonet/liquidsoap#3  0x00000000008b86b1 in camlDuppy__f_979 () at src/duppy.ml:341
savonet/liquidsoap#4  0x00000000008b8310 in camlDuppy__queue_inner_2692 () at src/duppy.ml:357
savonet/liquidsoap#5  0x00000000007c06a3 in camlTutils__process_831 () at tools/tutils.ml:164
savonet/liquidsoap#6  0x00000000008f4375 in camlThread__fun_850 () at thread.ml:49
savonet/liquidsoap#7  0x00000000009cc84d in caml_start_program ()
savonet/liquidsoap#8  0x00000000009c28fd in caml_callback_exn (closure=closure@entry=139837882625504, arg=arg@entry=1) at callback.c:111
savonet/liquidsoap#9  0x00000000009a5a8e in caml_thread_start (arg=0x7f2e80006b20) at st_stubs.c:548
savonet/liquidsoap#10 0x00007f2e92726ea5 in start_thread () from /lib64/libpthread.so.0
savonet/liquidsoap#11 0x00007f2e920359fd in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f2e850f4700 (LWP 11507)):
#0  0x00007f2e9272aa35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
savonet/liquidsoap#1  0x00000000009a62fc in st_condvar_wait (m=0x1dc4150, c=0x1dc4180) at st_posix.h:290
savonet/liquidsoap#2  caml_condition_wait (wcond=139837881764808, wmut=139837881765224) at st_stubs.c:884
savonet/liquidsoap#3  0x00000000007c1968 in camlTutils__fun_2533 () at tools/tutils.ml:327
savonet/liquidsoap#4  0x00000000007c0129 in camlTutils__mutexify_391 () at tools/tutils.ml:95
savonet/liquidsoap#5  0x00000000008c1678 in camlDtools__Dtools_impl__thread_1288 () at src/dtools_impl.ml:497
savonet/liquidsoap#6  0x00000000008f4375 in camlThread__fun_850 () at thread.ml:49
savonet/liquidsoap#7  0x00000000009cc84d in caml_start_program ()
savonet/liquidsoap#8  0x00000000009c28fd in caml_callback_exn (closure=closure@entry=139837883450016, arg=arg@entry=1) at callback.c:111
savonet/liquidsoap#9  0x00000000009a5a8e in caml_thread_start (arg=0x1d70890) at st_stubs.c:548
savonet/liquidsoap#10 0x00007f2e92726ea5 in start_thread () from /lib64/libpthread.so.0
savonet/liquidsoap#11 0x00007f2e920359fd in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f2e9862b880 (LWP 11502)):
#0  0x00007f2e9272e3c1 in sigwait () from /lib64/libpthread.so.0
savonet/liquidsoap#1  0x00000000009a56f7 in caml_wait_signal (sigs=<optimized out>) at st_posix.h:474
savonet/liquidsoap#2  0x00000000008c13a1 in camlDtools__Dtools_impl__wait_signal_1024 () at src/dtools_impl.ml:471
savonet/liquidsoap#3  0x00000000008c1551 in camlDtools__Dtools_impl__main_1281 () at src/dtools_impl.ml:507
savonet/liquidsoap#4  0x00000000008c178a in camlDtools__Dtools_impl__catch_1296 () at src/dtools_impl.ml:512
savonet/liquidsoap#5  0x000000000059bd0b in camlMain__fun_2638 () at main.ml:562
savonet/liquidsoap#6  0x0000000000904fc0 in camlStdlib__List__iter_507 () at list.ml:110
savonet/liquidsoap#7  0x00000000008c129c in camlDtools__Dtools_impl__exec_1021 () at src/dtools_impl.ml:455
savonet/liquidsoap#8  0x0000000000904fc0 in camlStdlib__List__iter_507 () at list.ml:110
savonet/liquidsoap#9  0x00000000008c12d9 in camlDtools__Dtools_impl__exec_1021 () at src/dtools_impl.ml:458
---Type <return> to continue, or q <return> to quit---
savonet/liquidsoap#10 0x0000000000904fc0 in camlStdlib__List__iter_507 () at list.ml:110
savonet/liquidsoap#11 0x00000000008c12d9 in camlDtools__Dtools_impl__exec_1021 () at src/dtools_impl.ml:458
savonet/liquidsoap#12 0x0000000000599e53 in camlRunner__entry () at main.ml:571
savonet/liquidsoap#13 0x00000000005928a9 in caml_program ()
savonet/liquidsoap#14 0x00000000009cc84d in caml_start_program ()
savonet/liquidsoap#15 0x00000000009ad62c in caml_startup_common (argv=0x7ffd67cde768, pooling=<optimized out>, pooling@entry=0) at startup_nat.c:160
savonet/liquidsoap#16 0x00000000009ad67b in caml_startup_exn (argv=<optimized out>) at startup_nat.c:167
savonet/liquidsoap#17 caml_startup (argv=<optimized out>) at startup_nat.c:172
savonet/liquidsoap#18 0x00000000009ad6a5 in caml_main (argv=<optimized out>) at startup_nat.c:179
savonet/liquidsoap#19 0x0000000000590a3c in main (argc=<optimized out>, argv=<optimized out>) at main.c:37

Thread 3 (Thread 0x7f2e858f5700 (LWP 11506)):
#0  0x00007f2e9202ca33 in select () from /lib64/libc.so.6
savonet/liquidsoap#1  0x00000000009a4ff1 in caml_thread_tick (arg=<optimized out>) at st_posix.h:388
savonet/liquidsoap#2  0x00007f2e92726ea5 in start_thread () from /lib64/libpthread.so.0
savonet/liquidsoap#3  0x00007f2e920359fd in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f2e7ffff700 (LWP 11509)):
#0  0x00007f2e9272aa35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
savonet/liquidsoap#1  0x00000000009a62fc in st_condvar_wait (m=0x1dc4260, c=0x7f2e740028d0) at st_posix.h:290
savonet/liquidsoap#2  caml_condition_wait (wcond=139837803953136, wmut=139837881488080) at st_stubs.c:884
savonet/liquidsoap#3  0x00000000008b86b1 in camlDuppy__f_979 () at src/duppy.ml:341
savonet/liquidsoap#4  0x00000000008b8310 in camlDuppy__queue_inner_2692 () at src/duppy.ml:357
savonet/liquidsoap#5  0x00000000007c06a3 in camlTutils__process_831 () at tools/tutils.ml:164
savonet/liquidsoap#6  0x00000000008f4375 in camlThread__fun_850 () at thread.ml:49
savonet/liquidsoap#7  0x00000000009cc84d in caml_start_program ()
savonet/liquidsoap#8  0x00000000009c28fd in caml_callback_exn (closure=closure@entry=139837882631032, arg=arg@entry=1) at callback.c:111
savonet/liquidsoap#9  0x00000000009a5a8e in caml_thread_start (arg=0x7f2e80005f50) at st_stubs.c:548
savonet/liquidsoap#10 0x00007f2e92726ea5 in start_thread () from /lib64/libpthread.so.0
savonet/liquidsoap#11 0x00007f2e920359fd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f2e848f3700 (LWP 11508)):
#0  0x00007f2e94038807 in quantize_lines_xrpow () from /usr/local/lib/libmp3lame.so.0
savonet/liquidsoap#1  0x00007f2e9403a048 in count_bits () from /usr/local/lib/libmp3lame.so.0
savonet/liquidsoap#2  0x00007f2e9402f4e2 in outer_loop.part.3 () from /usr/local/lib/libmp3lame.so.0
savonet/liquidsoap#3  0x00007f2e94033437 in CBR_iteration_loop () from /usr/local/lib/libmp3lame.so.0
savonet/liquidsoap#4  0x00007f2e94012d2f in lame_encode_mp3_frame () from /usr/local/lib/libmp3lame.so.0
savonet/liquidsoap#5  0x00007f2e9401ad66 in lame_encode_buffer_sample_t () from /usr/local/lib/libmp3lame.so.0
savonet/liquidsoap#6  0x0000000000980cc1 in ocaml_lame_encode_buffer_float (l=139837812253416, _bufl=139837812452280, _bufr=139837815594056, _ofs=1, _samples=3529) at lame_stubs.c:248
savonet/liquidsoap#7  0x0000000000802da2 in camlLame__fun_635 ()
savonet/liquidsoap#8  0x00000000005fbc0a in camlLame_encoder__encode_832 () at encoder/lame_encoder.ml:221
savonet/liquidsoap#9  0x000000000067706d in camlOutput__output_chunks_1580 () at outputs/output.ml:243
---Type <return> to continue, or q <return> to quit---
savonet/liquidsoap#10 0x0000000000675046 in camlOutput__fun_2239 () at outputs/output.ml:173
savonet/liquidsoap#11 0x000000000078bf62 in camlClock__fun_2267 () at clock.ml:299
savonet/liquidsoap#12 0x0000000000905094 in camlStdlib__List__fold_left_521 () at list.ml:121
savonet/liquidsoap#13 0x0000000000789bca in camlClock__fun_2218 () at clock.ml:296
savonet/liquidsoap#14 0x000000000078bc62 in camlClock__loop_1347 () at clock.ml:266
savonet/liquidsoap#15 0x0000000000789f88 in camlClock__fun_2195 () at clock.ml:269
savonet/liquidsoap#16 0x00000000007c06a3 in camlTutils__process_831 () at tools/tutils.ml:164
savonet/liquidsoap#17 0x00000000008f4375 in camlThread__fun_850 () at thread.ml:49
savonet/liquidsoap#18 0x00000000009cc84d in caml_start_program ()
savonet/liquidsoap#19 0x00000000009c28fd in caml_callback_exn (closure=closure@entry=139837882633456, arg=arg@entry=1) at callback.c:111
savonet/liquidsoap#20 0x00000000009a5a8e in caml_thread_start (arg=0x7f2e80005b60) at st_stubs.c:548
savonet/liquidsoap#21 0x00007f2e92726ea5 in start_thread () from /lib64/libpthread.so.0
savonet/liquidsoap#22 0x00007f2e920359fd in clone () from /lib64/libc.so.6
toots commented 2 years ago

Thanks! What version of ocaml-lame are you using?

caf2022 commented 2 years ago
# opam info lame
[WARNING] Running as root is not recommended

<><> lame: information on all versions ><><><><><><><><><><><><><><><><><><><><>
name                   lame
all-installed-versions 0.3.6 [4.14.0]
all-versions           0.3.1  0.3.3  0.3.4  0.3.5  0.3.6

<><> Version-specific details <><><><><><><><><><><><><><><><><><><><><><><><><>
version      0.3.6
toots commented 2 years ago

Thank you. Looks like an internal bug on the lame side and/or an incorrect initialization on our end. The lame API really doesn't make it easy on the programmer to know how to use ir appropriately.

Are you able to test with the ffmpeg encoder? Something like:

%ffmpeg(format="mp3", %audio(codec="libmp3lame", b="128k", ...))

Encoding options should follow the one here: https://ffmpeg.org/ffmpeg-codecs.html#Options-13

caf2022 commented 2 years ago

Thanks for the help, when I change to ffmpeg I got this problem and can't connect to shoutcast:

2022/07/09 11:47:31 [Radio_Teletema:2] Error while sending data: could not write data to host: Broken pipe in write()!

The config is:

output.shoutcast(%ffmpeg(format="mp3", %audio(codec="libmp3lame", b="128k", samplerate="44100")),name="xxx",url="xxx", genre="xxx", public=true, icy_reset=true, icy_id = 1, icy_metadata = "true", host="xxx",port = "xxx",password = "xxx", mount = "/stream", streaming)

caf2022 commented 2 years ago

The problem of liquidsoap stopping only occurs with %mp3, if I use %fdkaac works fine.

How to change to %ffmpeg ? Because on my tests, the liquidsoap can't connect to shoutcast with this configuration:

output.shoutcast(%ffmpeg(format="mp3", %audio(codec="libmp3lame", b="128k", samplerate="44100")),name="xxx",url="xxx", genre="xxx", public=true, icy_reset=true, icy_id = 1, icy_metadata = "true", host="xxx",port = "xxx",password = "xxx", mount = "/stream", streaming)

got this error:

[Radio_Teletema:2] Error while sending data: could not write data to host: Broken pipe in write()!

on shoutcast logs:

Shoutcast 1 source disconnected. Unable to sync to the stream. Please check the source is valid and in a supported format.

toots commented 2 years ago

Hmm this is weird. Could you post more detailed logs?

caf2022 commented 2 years ago

The complete log:

2022/07/11 11:55:20 >>> LOG START
2022/07/11 11:55:19 [main:3] Liquidsoap 2.0.4
2022/07/11 11:55:19 [main:3] Using: bytes=[distributed with OCaml 4.02 or above] pcre=7.5.0 sedlex=2.6 menhirLib=20211128 curl=0.9.2 dtools=0.4.4 duppy=0.9.2 cry=0.6.7 mm=0.8.0 xmlplaylist=0.1.5 ogg=0.7.1 ogg.decoder=0.7.1 vorbis=0.8.0 vorbis.decoder=0.8.0 opus=0.2.1 opus.decoder=0.2.1 speex=0.4.1 speex.decoder=0.4.1 mad=0.5.2 flac=0.3.0 flac.ogg=0.3.0 flac.decoder=0.3.0 dynlink=[distributed with Ocaml] lame=0.3.6 frei0r=0.1.2 fdkaac=0.3.2 theora=0.4.0 theora.decoder=0.4.0 ffmpeg=1.1.3 samplerate=0.1.6 taglib=0.3.9 camomile=1.0.2 faad=0.5.0 ladspa=0.2.2
2022/07/11 11:55:19 [clock:3] Using builtin (low-precision) implementation for latency control
2022/07/11 11:55:20 [9726.pls:4] Reloading playlist.
2022/07/11 11:55:20 [playlist parser:4] Trying youtube-dl parser
2022/07/11 11:55:20 [playlist parser:4] Trying application/x-cue parser
2022/07/11 11:55:20 [playlist parser:4] Trying audio/x-scpls parser
2022/07/11 11:55:20 [playlist parser:4] Trying application/x-mpegURL parser
2022/07/11 11:55:20 [frame:4] frame.audio.samplerate set to: 44100
2022/07/11 11:55:20 [frame:4] frame.video.framerate set to: 25
2022/07/11 11:55:20 [frame:4] frame.audio.channels set to: 2
2022/07/11 11:55:20 [frame:4] frame.video.default set to: false
2022/07/11 11:55:20 [frame:4] frame.midi.channels set to: 0
2022/07/11 11:55:20 [frame:4] frame.video.width set to: 1280
2022/07/11 11:55:20 [frame:4] frame.video.height set to: 720
2022/07/11 11:55:20 [frame:4] frame.audio.samplerate set to: 44100
2022/07/11 11:55:20 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz main.
2022/07/11 11:55:20 [frame:3] Video frame size set to: 1280x720
2022/07/11 11:55:20 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2022/07/11 11:55:20 [frame:3] Targeting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2022/07/11 11:55:20 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2022/07/11 11:55:20 [sandbox:3] Sandboxing disabled
2022/07/11 11:55:20 [video.converter:3] Using preferred video converter: ffmpeg.
2022/07/11 11:55:20 [audio.converter:3] Using samplerate converter: ffmpeg.
2022/07/11 11:55:20 [clock:4] Currently 2 clock(s) allocated.
2022/07/11 11:55:20 [clock.main:4] Starting 3 source(s)...
2022/07/11 11:55:20 [source:4] Source aovivo gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [aovivo:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [harbor:4] Opening port 38116 with icy = false
2022/07/11 11:55:20 [harbor:4] Opening port 38117 with icy = true
2022/07/11 11:55:20 [harbor:3] Adding mountpoint '/' on port 38116
2022/07/11 11:55:20 [source:4] Source gerenciar_relay gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source output.icecast_0 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [Teste:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source metadata.map_7 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [metadata.map_7:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source metadata.map_6 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [metadata.map_6:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source metadata gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [metadata:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source add_1 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [add_1:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source fade.scale gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [fade.scale:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source fade.scale gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [fade.scale:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source add_0 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [add_0:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source fade.scale gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [fade.scale:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source fade.scale gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [fade.scale:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source mksafe gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source gerenciador_sources gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source metadata.map_3 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [metadata.map_3:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source dj_playlist_fallback gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source metadata.map_2 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [metadata.map_2:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source amplify_0 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [amplify_0:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source crossfade_0 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [crossfade_0:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source cross_0 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [cross_0:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source gerenciador_sources_pedidos gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source metadata.map_0 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [metadata.map_0:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source pedido gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [pedido:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source 9726.pls gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [9726.pls:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source safe_blank gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [safe_blank:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source switch_4 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source fade.scale gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [fade.scale:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source fade.scale gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [fade.scale:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source metadata.map_4 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [metadata.map_4:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source amplify_1 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [amplify_1:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source injetar gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [injetar:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source blank_2 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [blank_2:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source switch_5 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source fade.scale gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [fade.scale:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source fade.scale gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [fade.scale:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source metadata.map_5 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [metadata.map_5:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source amplify_4 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [amplify_4:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source injetar_texto gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [injetar_texto:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [source:4] Source blank_3 gets up with content kind: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [blank_3:4] Content type is {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [threads:4] Created thread "clock_main" (1 total).
2022/07/11 11:55:20 [clock:4] Main phase starts.
2022/07/11 11:55:20 [threads:4] Created thread "generic queue #1" (1 total).
2022/07/11 11:55:20 [threads:4] Created thread "generic queue #2" (2 total).
2022/07/11 11:55:20 [threads:4] Created thread "non-blocking queue #1" (3 total).
2022/07/11 11:55:20 [threads:4] Created thread "non-blocking queue #2" (4 total).
2022/07/11 11:55:20 [clock.main:3] Streaming loop starts in auto-sync mode
2022/07/11 11:55:20 [clock.main:3] Delegating synchronisation to CPU clock
2022/07/11 11:55:20 [video.add_text:3] Using native implementation
2022/07/11 11:55:20 [decoder.ogg:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/As_Melhores_MpB_Rock_Nacional_Volume_1.mp3"!
2022/07/11 11:55:20 [decoder.mp4:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/As_Melhores_MpB_Rock_Nacional_Volume_1.mp3"!
2022/07/11 11:55:20 [decoder.aac:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/As_Melhores_MpB_Rock_Nacional_Volume_1.mp3"!
2022/07/11 11:55:20 [decoder.flac:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/As_Melhores_MpB_Rock_Nacional_Volume_1.mp3"!
2022/07/11 11:55:20 [decoder.aiff:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/As_Melhores_MpB_Rock_Nacional_Volume_1.mp3"!
2022/07/11 11:55:20 [decoder.wav:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/As_Melhores_MpB_Rock_Nacional_Volume_1.mp3"!
2022/07/11 11:55:20 [decoder:4] Available decoders: FFMPEG (priority: 10), MAD (priority: 1)
2022/07/11 11:55:20 [decoder.ffmpeg:4] ffmpeg recognizes /home/streaming/9726/Musicas Novo Final/As_Melhores_MpB_Rock_Nacional_Volume_1.mp3 as: audio: {codec: mp3, 44100Hz, 2 channel(s)} and content-type: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:20 [decoder:4] Selected decoder FFMPEG for file "/home/streaming/9726/Musicas Novo Final/As_Melhores_MpB_Rock_Nacional_Volume_1.mp3" with expected kind {audio=pcm(stereo),video=none,midi=none} and detected content {audio=pcm(stereo),video=none,midi=none}
2022/07/11 11:55:20 [9726.pls:4] Queued 1 requests
2022/07/11 11:55:21 [9726.pls:4] Remaining 0 requests
2022/07/11 11:55:21 [9726.pls:3] Prepared "/home/streaming/9726/Musicas Novo Final/As_Melhores_MpB_Rock_Nacional_Volume_1.mp3" (RID 1).
2022/07/11 11:55:21 [mksafe:3] Switch to gerenciador_sources.
2022/07/11 11:55:21 [gerenciador_sources:3] Switch to dj_playlist_fallback.
2022/07/11 11:55:21 [dj_playlist_fallback:3] Switch to crossfade_0.
2022/07/11 11:55:21 [cross_0:4] Buffering end of track...
2022/07/11 11:55:21 [gerenciador_sources_pedidos:3] Switch to 9726.pls.
2022/07/11 11:55:21 [cross_0:4] More buffering will be needed.
2022/07/11 11:55:21 [switch_4:3] Switch to blank_2.
2022/07/11 11:55:21 [switch_5:3] Switch to blank_3.
2022/07/11 11:55:21 [decoder.ogg:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/BRUNO_E_MARRONE_-_E_O_AMOR_2014_SUCESSO.mp3"!
2022/07/11 11:55:21 [decoder.mp4:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/BRUNO_E_MARRONE_-_E_O_AMOR_2014_SUCESSO.mp3"!
2022/07/11 11:55:21 [decoder.aac:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/BRUNO_E_MARRONE_-_E_O_AMOR_2014_SUCESSO.mp3"!
2022/07/11 11:55:21 [decoder.flac:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/BRUNO_E_MARRONE_-_E_O_AMOR_2014_SUCESSO.mp3"!
2022/07/11 11:55:21 [decoder.aiff:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/BRUNO_E_MARRONE_-_E_O_AMOR_2014_SUCESSO.mp3"!
2022/07/11 11:55:21 [decoder.wav:4] Unsupported file extension for "/home/streaming/9726/Musicas Novo Final/BRUNO_E_MARRONE_-_E_O_AMOR_2014_SUCESSO.mp3"!
2022/07/11 11:55:21 [decoder:4] Available decoders: FFMPEG (priority: 10), MAD (priority: 1)
2022/07/11 11:55:21 [decoder.ffmpeg:4] ffmpeg recognizes /home/streaming/9726/Musicas Novo Final/BRUNO_E_MARRONE_-_E_O_AMOR_2014_SUCESSO.mp3 as: audio: {codec: mp3, 44100Hz, 2 channel(s)} and content-type: {audio=pcm(stereo),video=none,midi=none}.
2022/07/11 11:55:21 [decoder:4] Selected decoder FFMPEG for file "/home/streaming/9726/Musicas Novo Final/BRUNO_E_MARRONE_-_E_O_AMOR_2014_SUCESSO.mp3" with expected kind {audio=pcm(stereo),video=none,midi=none} and detected content {audio=pcm(stereo),video=none,midi=none}
2022/07/11 11:55:21 [9726.pls:4] Queued 1 requests
2022/07/11 11:55:21 [lang:3] Musica Atual(manual): As Melhores MpB Rock Nacional Volume 1
2022/07/11 11:55:21 [Teste:3] Connecting mount sid#1 for @127.0.0.1...
2022/07/11 11:55:21 [Teste:3] Connection setup was successful.
2022/07/11 11:55:22 [Teste:2] Error while sending data: could not write data to host: Broken pipe in write()!
2022/07/11 11:55:22 [Teste:3] Closing connection...
2022/07/11 11:55:22 [Teste:3] Will try to reconnect in 3.00 seconds.
2022/07/11 11:55:26 [Teste:3] Connecting mount sid#1 for @127.0.0.1...
2022/07/11 11:55:26 [Teste:3] Connection setup was successful.
2022/07/11 11:55:27 [Teste:2] Error while sending data: could not write data to host: Broken pipe in write()!
2022/07/11 11:55:27 [Teste:3] Closing connection...
2022/07/11 11:55:27 [Teste:3] Will try to reconnect in 3.00 seconds.
2022/07/11 11:55:28 [main:3] Shutdown started!
2022/07/11 11:55:28 [main:3] Waiting for main threads to terminate...
2022/07/11 11:55:28 [threads:4] Waiting for thread clock_main to shutdown
2022/07/11 11:55:28 [source:4] Source Teste gets down.
2022/07/11 11:55:28 [source:4] Source metadata.map_7 gets down.
2022/07/11 11:55:28 [source:4] Source metadata.map_6 gets down.
2022/07/11 11:55:28 [source:4] Source metadata gets down.
2022/07/11 11:55:28 [source:4] Source add_1 gets down.
2022/07/11 11:55:28 [source:4] Source switch_5 gets down.
2022/07/11 11:55:28 [source:4] Source fade.scale gets down.
2022/07/11 11:55:28 [source:4] Source fade.scale gets down.
2022/07/11 11:55:28 [source:4] Source metadata.map_5 gets down.
2022/07/11 11:55:28 [source:4] Source amplify_4 gets down.
2022/07/11 11:55:28 [source:4] Source injetar_texto gets down.
2022/07/11 11:55:28 [injetar_texto:4] Waiting for feeding task to stop...
2022/07/11 11:55:28 [injetar_texto:4] Cleaning up request queue...
2022/07/11 11:55:28 [source:4] Source fade.scale gets down.
2022/07/11 11:55:28 [source:4] Source fade.scale gets down.
2022/07/11 11:55:28 [source:4] Source add_0 gets down.
2022/07/11 11:55:28 [source:4] Source switch_4 gets down.
2022/07/11 11:55:28 [source:4] Source fade.scale gets down.
2022/07/11 11:55:28 [source:4] Source fade.scale gets down.
2022/07/11 11:55:28 [source:4] Source metadata.map_4 gets down.
2022/07/11 11:55:28 [source:4] Source amplify_1 gets down.
2022/07/11 11:55:28 [source:4] Source injetar gets down.
2022/07/11 11:55:28 [injetar:4] Waiting for feeding task to stop...
2022/07/11 11:55:28 [injetar:4] Cleaning up request queue...
2022/07/11 11:55:28 [source:4] Source fade.scale gets down.
2022/07/11 11:55:28 [source:4] Source fade.scale gets down.
2022/07/11 11:55:28 [source:4] Source mksafe gets down.
2022/07/11 11:55:28 [source:4] Source safe_blank gets down.
2022/07/11 11:55:28 [source:4] Source gerenciador_sources gets down.
2022/07/11 11:55:28 [source:4] Source metadata.map_3 gets down.
2022/07/11 11:55:28 [source:4] Source gerenciar_relay gets down.
2022/07/11 11:55:28 [source:4] Source dj_playlist_fallback gets down.
2022/07/11 11:55:28 [source:4] Source metadata.map_2 gets down.
2022/07/11 11:55:28 [source:4] Source amplify_0 gets down.
2022/07/11 11:55:28 [source:4] Source aovivo gets down.
2022/07/11 11:55:28 [lang:3] DJ desconectado: 9726 off
2022/07/11 11:55:28 [harbor:3] Removing mountpoint '/' on port 38116
2022/07/11 11:55:28 [harbor:3] Nothing more on port 38116: closing sockets.
2022/07/11 11:55:28 [source:4] Source crossfade_0 gets down.
2022/07/11 11:55:28 [source:4] Source cross_0 gets down.
2022/07/11 11:55:28 [source:4] Source gerenciador_sources_pedidos gets down.
2022/07/11 11:55:28 [source:4] Source metadata.map_0 gets down.
2022/07/11 11:55:28 [source:4] Source pedido gets down.
2022/07/11 11:55:28 [pedido:4] Waiting for feeding task to stop...
2022/07/11 11:55:28 [pedido:4] Cleaning up request queue...
2022/07/11 11:55:28 [source:4] Source 9726.pls gets down.
2022/07/11 11:55:28 [9726.pls:4] Waiting for feeding task to stop...
2022/07/11 11:55:28 [9726.pls:4] Finished with "/home/streaming/9726/Musicas Novo Final/As_Melhores_MpB_Rock_Nacional_Volume_1.mp3".
2022/07/11 11:55:28 [9726.pls:4] Cleaning up request queue...
2022/07/11 11:55:28 [source:4] Source blank_2 gets down.
2022/07/11 11:55:28 [source:4] Source blank_3 gets down.
2022/07/11 11:55:28 [clock.main:3] Streaming loop stopped.
2022/07/11 11:55:28 [threads:4] Thread "clock_main" terminated (0 remaining).
2022/07/11 11:55:28 [main:3] Main threads terminated.
2022/07/11 11:55:28 [threads:3] Shutting down scheduler...
2022/07/11 11:55:28 [threads:4] Thread "non-blocking queue #2" terminated (3 remaining).
2022/07/11 11:55:28 [threads:4] Thread "generic queue #1" terminated (2 remaining).
2022/07/11 11:55:28 [threads:4] Thread "non-blocking queue #1" terminated (1 remaining).
2022/07/11 11:55:28 [threads:4] Thread "generic queue #2" terminated (0 remaining).
2022/07/11 11:55:28 [threads:3] Scheduler shut down.
2022/07/11 11:55:28 [server:3] Closing socket.
2022/07/11 11:55:28 [main:3] Cleaning downloaded files...
2022/07/11 11:55:28 [main:3] Freeing memory...
2022/07/11 11:55:29 >>> LOG END

It's keep trying to connect:

2022/07/11 11:55:26 [Teste:3] Connecting mount sid#1 for @127.0.0.1...
2022/07/11 11:55:26 [Teste:3] Connection setup was successful.
2022/07/11 11:55:27 [Teste:2] Error while sending data: could not write data to host: Broken pipe in write()!
2022/07/11 11:55:27 [Teste:3] Closing connection...
2022/07/11 11:55:27 [Teste:3] Will try to reconnect in 3.00 seconds.
caf2022 commented 2 years ago

Hello, some update about this? How to use ffmpeg because when use ffmpeg the liquidsoap can't connect to shoutcast/icecast

toots commented 2 years ago

I don't have shoutcast to test but this is definitely working with icecast:

output.icecast(
  %ffmpeg(
    format="mp3",
    %audio(codec="libmp3lame", b="128k", samplerate="44100")
  ),
  icy_metadata = "true",
  mount = "/test",
  single("/tmp/bla.mp3")
)