**Describe the bug**
I want to be able to skip tracks on my 'not 24hours' radio. Some of my radio 
script that I consider relevant to this bug is:
```
...

today =    playlist(id="today", mode="randomize", 
"/home/john/Music/radio/today/playlist.m3u")
chillout = playlist(id="chillout", mode="randomize", 
"/home/john/Music/radio/chillout/playlist.m3u")
...

radio = fallback([
                  request.queue(id="fila"),
                        switch([
                          ({ 12h58-16h30 }, today),
                          ({ 16h30-17h59 }, chillout),
                        ])
                ])
...

output.icecast(id="main", %vorbis, fallible=true, host="localhost", port=8080, 
password="hackme", mount="stream.ogg", radio)
```
As you can see I dont have a 24/7 radio and when a certain time comes I want my 
radio to stop.
I'm testing my radio on my local icecast server and using VLC to listen to it. 
Everything is working.
But when I enter into liquidsoap telnet and do a `main.skip` to skip the 
current track, my VLC stops playing and I have to repress play again.
Here is a log of when I execute telnet's `main.skip`:
```
2019/04/13 14:42:16 [main:3] Connecting mount stream.ogg for source@localhost...
2019/04/13 14:42:16 [main:3] Connection setup was successful.
2019/04/13 14:42:16 [fallback_6490:3] Switch to fallback_6482.
2019/04/13 14:42:16 [fallback_6482:3] Switch to fallback_6473.
2019/04/13 14:42:16 [fallback_6473:3] Switch to fallback_6465.
2019/04/13 14:42:16 [fallback_6465:3] Switch to switch_6464.
2019/04/13 14:42:16 [switch_6464:3] Switch to today.
```

This may not seem very important, but there is one more thing.
I want my liquidsoap command execution to stop after it has stopped streamming. 
So I have modified the last line of my script to:
```
....

output.icecast(id="main", %vorbis, fallible=true, on_disconnect=shutdown, 
host="localhost", port=8080, password="hackme", mount="stream.ogg", radio)
```
in order for liquidsoap stop when time for streamming stops.

In doing doing this, when I do a telnet's `main.skip` it exits the liquidsoap 
commad process alltogether.
Here is a log example:
```
2019/04/13 14:51:35 [server:3] New client: 127.0.0.1.
2019/04/13 14:51:58 [main:3] Performing user-requested skip
2019/04/13 14:51:58 [today:3] Finished with 
"/home/daniel/Music/radio/today/***.mp3".
2019/04/13 14:51:58 [main:3] Source failed (no more tracks) stopping output...
2019/04/13 14:51:58 [decoder:3] Method "MAD" accepted 
"/home/daniel/Music/radio/today/***.mp3".
2019/04/13 14:51:58 [main:3] Closing connection...
2019/04/13 14:51:58 [main:3] Shutdown started!
2019/04/13 14:51:58 [main:3] Waiting for threads to terminate...
2019/04/13 14:51:58 [threads:3] Shuting down thread gstreamer_main_loop
2019/04/13 14:51:58 [threads:3] Thread "gstreamer_main_loop" terminated (1 
remaining).
2019/04/13 14:51:58 [threads:3] Shuting down thread wallclock_main
2019/04/13 14:51:58 [today:3] Prepared "/home/daniel/Music/radio/today/***.mp3" 
(RID 4).
2019/04/13 14:51:58 [main:3] Connecting mount stream.ogg for source@localhost...
2019/04/13 14:51:58 [main:3] Connection setup was successful.
2019/04/13 14:51:58 [fallback_6490:3] Switch to fallback_6482.
2019/04/13 14:51:58 [fallback_6482:3] Switch to fallback_6473.
2019/04/13 14:51:58 [fallback_6473:3] Switch to fallback_6465.
2019/04/13 14:51:58 [fallback_6465:3] Switch to switch_6464.
2019/04/13 14:51:58 [switch_6464:3] Switch to today.
2019/04/13 14:51:58 [main:3] Closing connection...
2019/04/13 14:51:58 [harbor:3] Removing mountpoint '/annoucement.ogg' on port 
8333
2019/04/13 14:51:58 [harbor:3] Removing mountpoint '/voiceinmusic.ogg' on port 
8333
2019/04/13 14:51:58 [harbor:3] Removing mountpoint '/live.ogg' on port 8333
2019/04/13 14:51:58 [harbor:3] Nothing more on port 8333: closing sockets.
2019/04/13 14:51:58 [today:3] Finished with 
"/home/daniel/Music/radio/today/***.mp3".
2019/04/13 14:51:58 [clock.wallclock_main:3] Streaming loop stopped.
2019/04/13 14:51:58 [threads:3] Thread "wallclock_main" terminated (0 
remaining).
2019/04/13 14:51:58 [main:3] Threads terminated.
2019/04/13 14:51:58 [threads:3] Shutting down scheduler...
2019/04/13 14:51:58 [threads:3] Thread "generic queue #2" terminated.
2019/04/13 14:51:58 [threads:3] Thread "generic queue #1" terminated.
2019/04/13 14:51:58 [threads:3] Thread "non-blocking queue #2" terminated.
2019/04/13 14:51:58 [threads:3] Scheduler shut down.
2019/04/13 14:51:58 [threads:3] Shutting down queues...
2019/04/13 14:51:58 [threads:3] Thread "non-blocking queue #1" terminated.
2019/04/13 14:51:58 [threads:3] Queues shut down
2019/04/13 14:51:58 [server:3] Closing socket.
2019/04/13 14:51:58 [main:3] Cleaning downloaded files...
2019/04/13 14:51:58 [main:3] Freeing memory...
2019/04/13 14:51:58 >>> LOG END

```

So I cannot skip tracks right now.

This also happens if I use the `output.icecast()` `on_stop=shutdown` parameter.

I believe this is a bug.

**To Reproduce**
1. telnet into liquidsoap
2. run command: radio.skip

**Expected behavior**
It should not make VLC stop playing my local computer icecast stream

**Version details**
 - OS: Manjaro Linux Deepin
 - Liquidsoap Version: 1.3.6

**Install method**
opam





-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/savonet/liquidsoap/issues/754
_______________________________________________
Savonet-users mailing list
Savonet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to