summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-08-12 23:33:58 +0200
committerwm4 <wm4@nowhere>2017-08-12 23:35:12 +0200
commitb531332835c4c5ef0cf18e04ce28034ac643168d (patch)
tree18e5db84e5e00919eb557567a6b5a1bc8ee5a924 /player
parentf1d161d55f458cf47e63d1ab9ddf08859019dd8a (diff)
downloadmpv-b531332835c4c5ef0cf18e04ce28034ac643168d.tar.bz2
mpv-b531332835c4c5ef0cf18e04ce28034ac643168d.tar.xz
player: fix another audio resync issue
This oddly triggers bogus EOF when switching filter graphs between two audio files (in this case, "[vid1]f[vo];[aid2]f[ao]"->"[aid1]f[ao]", with aid2 being an external audio source). This commit also fixes desync when seeking with an external file connected via --lavfi-complex. (Yes, the audio resync code is cursed.)
Diffstat (limited to 'player')
-rw-r--r--player/audio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/player/audio.c b/player/audio.c
index 7fef377dac..3fdd9ed28b 100644
--- a/player/audio.c
+++ b/player/audio.c
@@ -1039,7 +1039,7 @@ void fill_audio_out_buffers(struct MPContext *mpctx)
status = filter_audio(mpctx, ao_c->ao_buffer, playsize);
if (status == AD_WAIT)
return;
- if (status == AD_NO_PROGRESS) {
+ if (status == AD_NO_PROGRESS || status == AD_STARVE) {
mp_wakeup_core(mpctx);
return;
}