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;
|
return dst_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src,
|
int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src)
|
||||||
int *consumed)
|
|
||||||
{
|
{
|
||||||
int ch, in_samples, in_leftover, out_samples = 0;
|
int ch, in_samples, in_leftover, consumed = 0, out_samples = 0;
|
||||||
int ret = AVERROR(EINVAL);
|
int ret = AVERROR(EINVAL);
|
||||||
|
|
||||||
in_samples = src ? src->nb_samples : 0;
|
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 */
|
/* resample each channel plane */
|
||||||
for (ch = 0; ch < c->buffer->channels; ch++) {
|
for (ch = 0; ch < c->buffer->channels; ch++) {
|
||||||
out_samples = resample(c, (void *)dst->data[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,
|
c->buffer->nb_samples, dst->allocated_samples,
|
||||||
ch + 1 == c->buffer->channels);
|
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 */
|
/* 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",
|
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);
|
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 c ResampleContext
|
||||||
* @param dst destination audio data
|
* @param dst destination audio data
|
||||||
* @param src source 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
|
* @return 0 on success, negative AVERROR code on failure
|
||||||
*/
|
*/
|
||||||
int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src,
|
int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src);
|
||||||
int *consumed);
|
|
||||||
|
|
||||||
#endif /* AVRESAMPLE_RESAMPLE_H */
|
#endif /* AVRESAMPLE_RESAMPLE_H */
|
||||||
|
@ -342,7 +342,6 @@ int attribute_align_arg avresample_convert(AVAudioResampleContext *avr,
|
|||||||
|
|
||||||
if (avr->resample_needed) {
|
if (avr->resample_needed) {
|
||||||
AudioData *resample_out;
|
AudioData *resample_out;
|
||||||
int consumed = 0;
|
|
||||||
|
|
||||||
if (!avr->out_convert_needed && direct_output && out_samples > 0)
|
if (!avr->out_convert_needed && direct_output && out_samples > 0)
|
||||||
resample_out = &output_buffer;
|
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,
|
av_dlog(avr, "[resample] %s to %s\n", current_buffer->name,
|
||||||
resample_out->name);
|
resample_out->name);
|
||||||
ret = ff_audio_resample(avr->resample, resample_out,
|
ret = ff_audio_resample(avr->resample, resample_out,
|
||||||
current_buffer, &consumed);
|
current_buffer);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user