From 10915000fbb0d3a5531f7dcfe9428c15a0508680 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 19 May 2015 21:33:48 +0200 Subject: audio: avoid wasting CPU due to continuous wakeup Thsi code path happens during seeking. If video is still being decoded to get to the first video frame, audio has nothing to do, as it is synchronized against the first video frame. We only want to wake up if there's an actual state change. Fixes #1958. --- player/audio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'player/audio.c') diff --git a/player/audio.c b/player/audio.c index ea729ce2cc..7691b32563 100644 --- a/player/audio.c +++ b/player/audio.c @@ -527,7 +527,8 @@ static void do_fill_audio_out_buffers(struct MPContext *mpctx, double endpts) mpctx->audio_status = STATUS_FILLING; if (status != AD_OK && !mp_audio_buffer_samples(mpctx->ao_buffer)) mpctx->audio_status = STATUS_EOF; - mpctx->sleeptime = 0; + if (mpctx->audio_status != STATUS_SYNCING) + mpctx->sleeptime = 0; return; // continue on next iteration } -- cgit v1.2.3