mpv/audio/out
llyyr a44a726301 ao_alsa: assume device lost if we couldn't recover after 10 attempts
ALSA API reports -EPIPE even when the the device is lost, which we
currently always assume to be an XRUN. If we assumed XRUN 10 times and
didn't manage to recover, just consider the device lost and try to
reconnect. Allows ao_alsa to recover from alsa server being killed then
reinitialized. And even in the worst case, this should be better than
the status quo of mpv attempting to prepare a PCM device indefinitely
until the user restarts mpv.

This is admittedly not ideal, and I don't think the -EPIPE hack is
necessary anymore, but I can only test on my setup and removing the
'assume -EPIPE is an XRUN' hack might break some setups for whatever
mysterious reasons.
2024-09-14 14:08:30 +02:00
..
ao.c audio: change bps format to int64_t 2024-05-10 05:16:27 +02:00
ao.h audio: drain ao before setting pause 2023-08-11 22:28:50 +00:00
ao_alsa.c ao_alsa: assume device lost if we couldn't recover after 10 attempts 2024-09-14 14:08:30 +02:00
ao_audiotrack.c ao: add eof, pad_silence, and blocking arguments for ao_read_data 2024-05-25 22:52:45 +02:00
ao_audiounit.m ao: add eof, pad_silence, and blocking arguments for ao_read_data 2024-05-25 22:52:45 +02:00
ao_avfoundation.m ao_avfoundation: guard features only available on macOS 11.3 and 12 2024-06-18 19:30:07 +02:00
ao_coreaudio.c ao: add eof, pad_silence, and blocking arguments for ao_read_data 2024-05-25 22:52:45 +02:00
ao_coreaudio_chmap.c ao_coreaudio_chmap: fix shadowed variable 2024-06-05 19:07:58 +02:00
ao_coreaudio_chmap.h ao/avfoundation: optimise preprocessors for included coreaudio code 2024-04-20 00:44:46 +02:00
ao_coreaudio_exclusive.c ao: add eof, pad_silence, and blocking arguments for ao_read_data 2024-05-25 22:52:45 +02:00
ao_coreaudio_properties.c
ao_coreaudio_properties.h ao/avfoundation: optimise preprocessors for included coreaudio code 2024-04-20 00:44:46 +02:00
ao_coreaudio_utils.c various: fix indentation 2024-05-07 11:23:08 +02:00
ao_coreaudio_utils.h ao/avfoundation: optimise preprocessors for included coreaudio code 2024-04-20 00:44:46 +02:00
ao_jack.c ao: add eof, pad_silence, and blocking arguments for ao_read_data 2024-05-25 22:52:45 +02:00
ao_lavc.c various: remove av channel layout check 2024-06-22 16:12:14 +02:00
ao_null.c ao_null: fix reset() implementation 2024-01-12 20:36:04 +01:00
ao_openal.c options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
ao_opensles.c ao: add eof, pad_silence, and blocking arguments for ao_read_data 2024-05-25 22:52:45 +02:00
ao_oss.c various: fix tabs in code 2024-05-07 11:23:08 +02:00
ao_pcm.c ao_pcm: fix incorrect win32 check 2024-06-05 19:16:35 +02:00
ao_pipewire.c ao_pipewire: bump minimum libpipewire version to 0.3.57 2024-07-08 13:33:32 +00:00
ao_pulse.c various: fix indentation 2024-05-07 11:23:08 +02:00
ao_sdl.c ao: add eof, pad_silence, and blocking arguments for ao_read_data 2024-05-25 22:52:45 +02:00
ao_sndio.c ao: rename playthread to ao_thread 2024-04-10 19:00:22 +02:00
ao_wasapi.c ao_wasapi: fix player core lockup when avoiding premature buffer fills 2024-04-27 00:59:09 +02:00
ao_wasapi.h ao_wasapi: fix player core lockup when avoiding premature buffer fills 2024-04-27 00:59:09 +02:00
ao_wasapi_changenotify.c ao_wasapi: don't limit the scope of execution context 2024-06-07 19:41:28 +02:00
ao_wasapi_utils.c ao_wasapi: don't limit the scope of execution context 2024-06-07 19:41:28 +02:00
buffer.c ao: don't add buffer length to timeout twice 2024-07-10 19:32:36 +02:00
internal.h ao: add ao_stop_streaming 2024-05-25 22:52:45 +02:00