mpv/audio/out
wm4 b109d20ef7 audio/out: make EOF handling properly event-based
With --gapless-audio=no, changing from one file to the next apparently
made it hang, until the player was woken up by unrelated events like
input. The reason was that the AO doesn't notify the player of EOF
properly. the played was querying ao_eof_reached(), and then just went
to sleep, without anything waking it up.

Make it event-based: the AO wakes up the playloop if the EOF state
changes.

We could have fixed this in a simpler way by synchronously draining the
AO in these cases. But I think proper event handling is preferable.

Fixes: #1069
CC: @mpv-player/stable (perhaps)
2014-09-06 00:22:07 +02:00
..
ao.c audio/out: make EOF handling properly event-based 2014-09-06 00:22:07 +02:00
ao.h player: unrangle one aspect of audio EOF handling 2014-04-17 23:48:09 +02:00
ao_alsa.c ao_alsa: disable use of non-interleaved formats by default 2014-07-30 23:28:44 +02:00
ao_coreaudio.c ao_coreaudio: report hardware latency to ao_read_data 2014-07-03 20:05:15 +02:00
ao_coreaudio_device.c coreaudio_device: fix overwriting of user input 2014-08-25 11:24:01 +02:00
ao_coreaudio_properties.c ao_coreaudio: move to new log API 2013-08-01 20:32:49 +02:00
ao_coreaudio_properties.h ao_coreaudio: report hardware latency to ao_read_data 2014-07-03 20:05:15 +02:00
ao_coreaudio_utils.c ao_coreaudio: move channel mapping away from utils 2014-07-02 21:43:08 +02:00
ao_coreaudio_utils.h ao_coreaudio: move channel mapping away from utils 2014-07-02 21:43:08 +02:00
ao_dsound.c ao_dsound: reduce default buffer size 2014-08-08 01:56:23 +02:00
ao_jack.c audio/out/pull: remove race conditions 2014-05-29 02:24:17 +02:00
ao_lavc.c encode: deal even more with codec->time_base deprecation. 2014-07-23 16:09:44 +02:00
ao_null.c ao_null: never fail at initialization 2014-07-26 20:26:57 +02:00
ao_openal.c audio/out: make draining a separate operation 2014-03-09 01:27:41 +01:00
ao_oss.c build: include <strings.h> for strcasecmp() 2014-07-10 08:29:32 +02:00
ao_pcm.c ao_pcm: fix message strings 2014-06-15 09:25:15 +02:00
ao_portaudio.c audio/out/pull: remove race conditions 2014-05-29 02:24:17 +02:00
ao_pulse.c ao_pulse: allow disabling timing bug workarounds 2014-07-26 23:20:09 +02:00
ao_rsound.c ao_rsound: pass correct data type to rsd_set_param() 2014-03-09 19:11:49 +01:00
ao_sdl.c audio/out/pull: remove race conditions 2014-05-29 02:24:17 +02:00
ao_sndio.c audio/out: make draining a separate operation 2014-03-09 01:27:41 +01:00
ao_wasapi.c audio/out/pull: remove race conditions 2014-05-29 02:24:17 +02:00
ao_wasapi.h atomics: switch to C11 stdatomic.h 2014-05-21 02:21:18 +02:00
ao_wasapi_utils.c ao_wasapi: simplify nAvgBytesPerSec calculation 2014-05-28 21:38:15 +02:00
ao_wasapi_utils.h ao_wasapi: Move non-critical code outside of the event thread 2014-03-11 16:37:02 -03:00
internal.h audio/out: make EOF handling properly event-based 2014-09-06 00:22:07 +02:00
pull.c audio/out: make EOF handling properly event-based 2014-09-06 00:22:07 +02:00
push.c audio/out: make EOF handling properly event-based 2014-09-06 00:22:07 +02:00