player: handle songs shorter than the initial buffer
When the decoder exited before the buffer has grown big enough ("buffer_before_play"), the player thread waited forever. Add an additional check which disables buffering as soon as the decoder exits.
This commit is contained in:
parent
5c4dc8d03c
commit
2867c8e9b1
@ -265,7 +265,8 @@ static void do_play(void)
|
||||
}
|
||||
|
||||
if (player.buffering) {
|
||||
if (ob_available() < pc.buffered_before_play) {
|
||||
if (ob_available() < pc.buffered_before_play &&
|
||||
!decoder_is_idle()) {
|
||||
/* not enough decoded buffer space yet */
|
||||
notify_wait(&pc.notify);
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user