Commit 1d86aa8b authored by Justin Ruggles's avatar Justin Ruggles

lavr: do not pass consumed samples as a parameter to ff_audio_resample()

Since the resampler handles buffering of unconsumed samples internally, the
caller does not need this information.
parent d2f9f8e0
......@@ -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);
......
......@@ -61,10 +61,8 @@ void ff_audio_resample_free(ResampleContext **c);
* @param c ResampleContext
* @param dst destination audio data
* @param src source audio data
* @param consumed number of samples consumed from the source
* @return 0 on success, negative AVERROR code on failure
*/
int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src,
int *consumed);
int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src);
#endif /* AVRESAMPLE_RESAMPLE_H */
......@@ -342,7 +342,6 @@ int attribute_align_arg avresample_convert(AVAudioResampleContext *avr,
if (avr->resample_needed) {
AudioData *resample_out;
int consumed = 0;
if (!avr->out_convert_needed && direct_output && out_samples > 0)
resample_out = &output_buffer;
......@@ -351,7 +350,7 @@ int attribute_align_arg avresample_convert(AVAudioResampleContext *avr,
av_dlog(avr, "[resample] %s to %s\n", current_buffer->name,
resample_out->name);
ret = ff_audio_resample(avr->resample, resample_out,
current_buffer, &consumed);
current_buffer);
if (ret < 0)
return ret;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment