From 4784ca32c9d0fc79b08958c02dd3e826d5154d30 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 26 Sep 2014 15:50:04 +0200 Subject: audio/out: fail init on unknown audio buffer A 0 audio buffer makes push.c go haywire. Shouldn't normally happen. --- audio/out/ao.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'audio/out/ao.c') diff --git a/audio/out/ao.c b/audio/out/ao.c index 00bda6d283..9e4dd88b5d 100644 --- a/audio/out/ao.c +++ b/audio/out/ao.c @@ -188,6 +188,13 @@ static struct ao *ao_create(bool probing, struct mpv_global *global, ao->device_buffer = ao->driver->get_space(ao); MP_VERBOSE(ao, "device buffer: %d samples.\n", ao->device_buffer); } + + if (ao->device_buffer <= 0) { + MP_FATAL(ao, "Couldn't probe device buffer size.\n"); + ao->driver->uninit(ao); + goto error; + } + ao->buffer = MPMAX(ao->device_buffer, ao->def_buffer * ao->samplerate); MP_VERBOSE(ao, "using soft-buffer of %d samples.\n", ao->buffer); -- cgit v1.2.3