From 312531c08c2376257a43bd40e4ace08c2893da4d Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 14 Oct 2014 22:07:04 +0200 Subject: audio/out/push: reset projected EOF time on new data Seems like this could theoretically happen in low buffer situations, but I haven't spotted this behavior in the wild. --- audio/out/push.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'audio/out/push.c') diff --git a/audio/out/push.c b/audio/out/push.c index f94d445852..20337ef9d2 100644 --- a/audio/out/push.c +++ b/audio/out/push.c @@ -234,7 +234,10 @@ static int play(struct ao *ao, void **data, int samples, int flags) p->final_chunk = is_final; p->paused = false; - p->still_playing |= write_samples > 0; + if (got_data) { + p->still_playing = true; + p->expected_end_time = 0; + } // If we don't have new data, the decoder thread basically promises it // will send new data as soon as it's available. -- cgit v1.2.3