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;
/* 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);
}
}
/* 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);
* @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 */
if (avr->resample_needed) {
AudioData *resample_out;
- int consumed = 0;
if (!avr->out_convert_needed && direct_output && out_samples > 0)
resample_out = &output_buffer;
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;