From 003076ffc7a465c8fc092a1b04c81d71a3822943 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 6 Aug 2019 17:03:53 +0200 Subject: [PATCH] splitter: always fill up all dst pointers --- spa/plugins/audioconvert/splitter.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/spa/plugins/audioconvert/splitter.c b/spa/plugins/audioconvert/splitter.c index ae7640d39..dba2d4e80 100644 --- a/spa/plugins/audioconvert/splitter.c +++ b/spa/plugins/audioconvert/splitter.c @@ -879,6 +879,7 @@ static int impl_node_process(void *object) if ((dbuf = dequeue_buffer(this, outport)) == NULL) { outio->status = -EPIPE; empty: + spa_log_trace_fp(this->log, NAME" %p: %d skip output", this, i); dst_datas[n_dst_datas++] = SPA_PTR_ALIGN(this->empty, 16, void); continue; } @@ -896,10 +897,15 @@ static int impl_node_process(void *object) dd[j].chunk->offset = 0; dd[j].chunk->size = n_samples * outport->stride; } + outio->status = SPA_STATUS_HAVE_BUFFER; outio->buffer_id = dbuf->id; res |= SPA_STATUS_HAVE_BUFFER; } + while (n_dst_datas < this->port_count) { + spa_log_trace_fp(this->log, NAME" %p: %d fill output", this, n_dst_datas); + dst_datas[n_dst_datas++] = SPA_PTR_ALIGN(this->empty, 16, void); + } spa_log_trace_fp(this->log, NAME " %p: n_src:%d n_dst:%d n_samples:%d max:%d stride:%d p:%d", this, n_src_datas, n_dst_datas, n_samples, maxsize, inport->stride,