version 1.3, 2016/01/10 11:06:44 |
version 1.4, 2016/05/26 06:17:31 |
|
|
/* |
/* |
* resample the given number of frames |
* resample the given number of frames |
*/ |
*/ |
int |
void |
resamp_do(struct resamp *p, adata_t *in, adata_t *out, int todo) |
resamp_do(struct resamp *p, adata_t *in, adata_t *out, int *icnt, int *ocnt) |
{ |
{ |
unsigned int nch; |
unsigned int nch; |
adata_t *idata; |
adata_t *idata; |
|
|
ctxbuf = p->ctx; |
ctxbuf = p->ctx; |
ctx_start = p->ctx_start; |
ctx_start = p->ctx_start; |
nch = p->nch; |
nch = p->nch; |
ifr = todo; |
ifr = *icnt; |
ofr = oblksz; |
ofr = *ocnt; |
|
|
/* |
/* |
* Start conversion. |
* Start conversion. |
|
|
#ifdef DEBUG |
#ifdef DEBUG |
if (log_level >= 4) { |
if (log_level >= 4) { |
log_puts("resamp: copying "); |
log_puts("resamp: copying "); |
log_puti(todo); |
log_puti(ifr); |
log_puts(" frames, diff = "); |
log_puts(" frames, diff = "); |
log_putu(diff); |
log_putu(diff); |
|
log_puts(", max = "); |
|
log_putu(ofr); |
log_puts("\n"); |
log_puts("\n"); |
} |
} |
#endif |
#endif |
|
|
} |
} |
p->diff = diff; |
p->diff = diff; |
p->ctx_start = ctx_start; |
p->ctx_start = ctx_start; |
return oblksz - ofr; |
*icnt -= ifr; |
|
*ocnt -= ofr; |
} |
} |
|
|
/* |
/* |