summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
Diffstat (limited to 'player')
-rw-r--r--player/audio.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/player/audio.c b/player/audio.c
index 849944cf91..f23f6db5cc 100644
--- a/player/audio.c
+++ b/player/audio.c
@@ -383,6 +383,11 @@ void fill_audio_out_buffers(struct MPContext *mpctx, double endpts)
return; // try again next iteration
}
+ // If audio is infinitely fast, somehow try keeping approximate A/V sync.
+ if (mpctx->audio_status == STATUS_PLAYING && ao_untimed(mpctx->ao) &&
+ !(mpctx->video_status == STATUS_EOF || mpctx->delay <= 0))
+ return;
+
// if paused, just initialize things (audio format & pts)
int playsize = 1;
if (!mpctx->paused)