diff options
-rw-r--r-- | doc/todo | 2 | ||||
-rw-r--r-- | polyp/resampler.c | 16 |
2 files changed, 9 insertions, 9 deletions
@@ -4,9 +4,9 @@ - make most buffer sizes dependant on the sample type - limit all resources - commenting -- polish for starting polypaudio as root/system-wide instance ** later *** +- polish for starting polypaudio as root/system-wide instance - per-channel volume - improve module-oss-mmap latency measurement - module-tunnel: improve latency calculation diff --git a/polyp/resampler.c b/polyp/resampler.c index 6cf51dab..dbd748f7 100644 --- a/polyp/resampler.c +++ b/polyp/resampler.c @@ -310,7 +310,7 @@ fail: static void trivial_run(struct pa_resampler *r, const struct pa_memchunk *in, struct pa_memchunk *out) { size_t fz; - unsigned nsamples; + unsigned nframes; struct impl_trivial *i; assert(r && in && out && r->impl_data); i = r->impl_data; @@ -318,22 +318,22 @@ static void trivial_run(struct pa_resampler *r, const struct pa_memchunk *in, st fz = r->i_fz; assert(fz == r->o_fz); - nsamples = in->length/fz; + nframes = in->length/fz; if (r->i_ss.rate == r->o_ss.rate) { /* In case there's no diefference in sample types, do nothing */ *out = *in; - pa_memblock_ref(in->memblock); + pa_memblock_ref(out->memblock); - i->o_counter += nsamples; + i->o_counter += nframes; } else { /* Do real resampling */ size_t l; unsigned o_index; /* The length of the new memory block rounded up */ - l = ((nsamples * r->o_ss.rate + r->i_ss.rate - 1) / r->i_ss.rate) * fz; + l = ((nframes * r->o_ss.rate + r->i_ss.rate - 1) / r->i_ss.rate) * fz; out->index = 0; out->memblock = pa_memblock_new(l, r->memblock_stat); @@ -345,13 +345,13 @@ static void trivial_run(struct pa_resampler *r, const struct pa_memchunk *in, st assert(j >= i->i_counter); j = j - i->i_counter; - if (j >= nsamples) + if (j >= nframes) break; assert(o_index*fz < out->memblock->length); memcpy((uint8_t*) out->memblock->data + fz*o_index, - (uint8_t*) in->memblock->data + fz*j, fz); + (uint8_t*) in->memblock->data + in->index + fz*j, fz); } @@ -362,7 +362,7 @@ static void trivial_run(struct pa_resampler *r, const struct pa_memchunk *in, st while (i->o_counter >= r->o_ss.rate) i->o_counter -= r->o_ss.rate; - i->i_counter += nsamples; + i->i_counter += nframes; while (i->i_counter >= r->i_ss.rate) i->i_counter -= r->i_ss.rate; |