Open baskervald opened 9 years ago
Livestreamer closes the player when it has fed all the data to the player by default. You can use --player-no-close
to avoid this.
While we're on the subject, it's probably time to change this silly behaviour now. It's been kept as is for a long time as I don't like to alter behaviour between releases of Livestreamer, but things change.
At the time Livestreamer was first created mplayer was in a crap state and mplayer2/mpv didn't exist yet, so using VLC was the only reasonable option. But I disliked the GUI hanging around when a stream ended so this behaviour was implemented. Nowdays mpv is the superior player and it handles end of stream much nicer than VLC aswell, so it's probably time for a change.
It closes the player when it's fed all of the data, even if the player isn't done with playback? That seems... like an odd choice.
It closes the player when it's fed all of the data, even if the player isn't done with playback? That seems... like an odd choice.
At the time the choice was made it made sense. It's hard to believe but Livestreamer is actually almost 4 years old now, back then it only did livestreams and losing a second or two of playback felt like a reasonably trade off to avoid having dead VLC windows floating around.
Perhaps you could add the “vlc --play-and-exit” option by default to mitigate the dead VLC window problem. I guess the only problem with that would be if there are versions of VLC that don’t support that option.
What about MPC-HC? I don't want dead MPC-HC windows hanging around, so if this were to change there should be an option to have the same behavior as now.
I'm inclined to believe MPC-HC would have an option similar to --play-and-exit for VLC, although I could be wrong.
What about MPC-HC? I don't want dead MPC-HC windows hanging around, so if this were to change there should be an option to have the same behavior as now.
Yes, of course. Though I'm thinking maybe it's worth a shot to attempt to detect what player is specified and set the default behaviour based on that instead.
I've tested using --player-fifo and --player-continuous-http and it works correctly, but it seems as though piping through stdin just stops when the writer thread closes.
I'm running Arch Linux, with kernel version 3.19.3-3-ARCH