mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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.
This commit is contained in:
parent
d2f9f8e094
commit
1d86aa8b0f
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user