- if (!c->linear) {
- *consumed = c->dsp.resample_common[fn_idx](c, dst, src, dst_size, update_ctx);
+ if (dst_size > 0) {
+ if (!c->linear) {
+ *consumed = c->dsp.resample_common[fn_idx](c, dst, src, dst_size, update_ctx);
+ } else {
+ *consumed = c->dsp.resample_linear[fn_idx](c, dst, src, dst_size, update_ctx);
+ }