mpv/audio
Kevin Mitchell 31539884c8 ao_wasapi: avoid under-run cascade in exclusive mode.
Don't wait for WASAPI to send another feed event if we detect an underfull
buffer. It seems that WASAPI doesn't always send extra feed events if
something causes rendering to fall behind. This causes every subsequent playback
buffer to under-run until playback is reset. The fix is simply to do a one-shot
double feed when this happens, which allows rendering to catch up with playback.

This was observed to happen when using MsgWaitForMultipleObjects to wait for the
feed event and toggling fullscreen with vo=opengl:backend=win. This commit
improves the behaviour in that specific case and more generally makes exclusive
mode significantly more robust.

This commit also moves the logic to avoid *over*filling the exclusive mode
buffer into thread_feed right next to the above described underfil logic.
2016-02-26 15:43:51 -08:00
..
decode audio: make mp_audio_skip_samples() adjust the PTS 2016-02-22 20:13:31 +01:00
filter build: make libavfilter mandatory 2016-02-05 23:17:33 +01:00
out ao_wasapi: avoid under-run cascade in exclusive mode. 2016-02-26 15:43:51 -08:00
audio.c audio: make mp_audio_skip_samples() adjust the PTS 2016-02-22 20:13:31 +01:00
audio.h audio: move frame clipping to a generic function 2016-02-21 18:16:41 +01:00
audio_buffer.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
audio_buffer.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
chmap.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
chmap.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
chmap_sel.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
chmap_sel.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
fmt-conversion.c Update license headers 2015-04-13 12:10:01 +02:00
fmt-conversion.h Update license headers 2015-04-13 12:10:01 +02:00
format.c audio: fix af_fmt_change_bytes() with spdif formats 2015-11-07 15:07:50 +01:00
format.h ao_lavc: use new sample format determination code 2015-09-10 23:38:42 +02:00
mixer.c command: always allow setting volume/mute properties 2016-01-26 15:23:09 +01:00
mixer.h audio: change range of volume option/property 2015-05-22 18:35:03 +02:00