From d05aba55a86177f7a3d395c7a03c5c4e280b31fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Ronstro=CC=88m?= Date: Mon, 25 Nov 2019 23:54:09 +0100 Subject: [PATCH] Don't call sox_write from output effect if input buffer is empty. This avoids issues with the vorbis encoder. --- src/output.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/output.c b/src/output.c index c06ab7bd..fa92d5c3 100644 --- a/src/output.c +++ b/src/output.c @@ -31,6 +31,11 @@ static int flow(sox_effect_t *effp, sox_sample_t const * ibuf, sox_sample_t * obuf, size_t * isamp, size_t * osamp) { priv_t * p = (priv_t *)effp->priv; + /* Abort if there are no samples to write */ + if (*isamp == 0) { + *osamp = 0; + return SOX_SUCCESS; + } /* Write out *isamp samples */ size_t len = sox_write(p->file, ibuf, *isamp);