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 (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 */
|
/* not enough decoded buffer space yet */
|
||||||
notify_wait(&pc.notify);
|
notify_wait(&pc.notify);
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user