mirror of https://github.com/mpv-player/mpv
a44a726301
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. |
||
---|---|---|
.. | ||
ao.c | ||
ao.h | ||
ao_alsa.c | ||
ao_audiotrack.c | ||
ao_audiounit.m | ||
ao_avfoundation.m | ||
ao_coreaudio.c | ||
ao_coreaudio_chmap.c | ||
ao_coreaudio_chmap.h | ||
ao_coreaudio_exclusive.c | ||
ao_coreaudio_properties.c | ||
ao_coreaudio_properties.h | ||
ao_coreaudio_utils.c | ||
ao_coreaudio_utils.h | ||
ao_jack.c | ||
ao_lavc.c | ||
ao_null.c | ||
ao_openal.c | ||
ao_opensles.c | ||
ao_oss.c | ||
ao_pcm.c | ||
ao_pipewire.c | ||
ao_pulse.c | ||
ao_sdl.c | ||
ao_sndio.c | ||
ao_wasapi.c | ||
ao_wasapi.h | ||
ao_wasapi_changenotify.c | ||
ao_wasapi_utils.c | ||
buffer.c | ||
internal.h |