diff --git a/spa/plugins/audioconvert/merger.c b/spa/plugins/audioconvert/merger.c index 641d3d5bd..482f908ce 100644 --- a/spa/plugins/audioconvert/merger.c +++ b/spa/plugins/audioconvert/merger.c @@ -977,7 +977,11 @@ static int impl_node_process(void *object) dd = &dbuf->buf->datas[0]; maxsize = dd->maxsize; - n_samples = maxsize / outport->stride; + + if (SPA_LIKELY(this->io_position)) + n_samples = this->io_position->clock.duration; + else + n_samples = maxsize / outport->stride; src_datas = alloca(sizeof(void*) * this->port_count);