|
|
|
@ -394,10 +394,9 @@ static int resample(ResampleContext *c, void *dst, const void *src, |
|
|
|
|
return dst_index; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src, |
|
|
|
|
int *consumed) |
|
|
|
|
int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src) |
|
|
|
|
{ |
|
|
|
|
int ch, in_samples, in_leftover, out_samples = 0; |
|
|
|
|
int ch, in_samples, in_leftover, consumed = 0, out_samples = 0; |
|
|
|
|
int ret = AVERROR(EINVAL); |
|
|
|
|
|
|
|
|
|
in_samples = src ? src->nb_samples : 0; |
|
|
|
@ -430,7 +429,7 @@ int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src, |
|
|
|
|
/* resample each channel plane */ |
|
|
|
|
for (ch = 0; ch < c->buffer->channels; ch++) { |
|
|
|
|
out_samples = resample(c, (void *)dst->data[ch], |
|
|
|
|
(const void *)c->buffer->data[ch], consumed, |
|
|
|
|
(const void *)c->buffer->data[ch], &consumed, |
|
|
|
|
c->buffer->nb_samples, dst->allocated_samples, |
|
|
|
|
ch + 1 == c->buffer->channels); |
|
|
|
|
} |
|
|
|
@ -440,7 +439,7 @@ int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* drain consumed samples from the internal buffer */ |
|
|
|
|
ff_audio_data_drain(c->buffer, *consumed); |
|
|
|
|
ff_audio_data_drain(c->buffer, consumed); |
|
|
|
|
|
|
|
|
|
av_dlog(c->avr, "resampled %d in + %d leftover to %d out + %d leftover\n", |
|
|
|
|
in_samples, in_leftover, out_samples, c->buffer->nb_samples); |
|
|
|
|