From f40e0cb0f21f0f322cdb74eb7582f63986d7dab5 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 7 Mar 2018 22:58:47 +0100 Subject: ao: do not allow actual buffer size of 0 You can use --audio-buffer=0 to minimize the audio buffer size. But if the AO reports no device buffer size (like e.g. ao_jack does), then the buffer size is actually 0, and playback can never work properly. Make it fallback to a size of 1, which is unlikely to work properly, but you get what you asked for, instead of a freeze. --- audio/out/ao.c | 1 + 1 file changed, 1 insertion(+) diff --git a/audio/out/ao.c b/audio/out/ao.c index 5834345d59..8f6fc8ea3c 100644 --- a/audio/out/ao.c +++ b/audio/out/ao.c @@ -232,6 +232,7 @@ static struct ao *ao_init(bool probing, struct mpv_global *global, if (ao->device_buffer) MP_VERBOSE(ao, "device buffer: %d samples.\n", ao->device_buffer); ao->buffer = MPMAX(ao->device_buffer, ao->def_buffer * ao->samplerate); + ao->buffer = MPMAX(ao->buffer, 1); int align = af_format_sample_alignment(ao->format); ao->buffer = (ao->buffer + align - 1) / align * align; -- cgit v1.2.3