lavr: do not pass consumed samples as a parameter to ff_audio_resample()
authorJustin Ruggles <justin.ruggles@gmail.com>
Thu, 1 Nov 2012 15:08:08 +0000 (11:08 -0400)
committerJustin Ruggles <justin.ruggles@gmail.com>
Tue, 27 Nov 2012 21:49:19 +0000 (16:49 -0500)
Since the resampler handles buffering of unconsumed samples internally, the
caller does not need this information.

libavresample/resample.c
libavresample/resample.h
libavresample/utils.c

index f0af1ff..381d673 100644 (file)
@@ -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 *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;
     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],
     /* 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);
     }
                                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 */
     }
 
     /* 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);
 
     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);
index c16186e..7534e26 100644 (file)
@@ -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 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
  */
  * @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 */
 
 #endif /* AVRESAMPLE_RESAMPLE_H */
index 20b5fb1..3fdeeb8 100644 (file)
@@ -342,7 +342,6 @@ int attribute_align_arg avresample_convert(AVAudioResampleContext *avr,
 
     if (avr->resample_needed) {
         AudioData *resample_out;
 
     if (avr->resample_needed) {
         AudioData *resample_out;
-        int consumed = 0;
 
         if (!avr->out_convert_needed && direct_output && out_samples > 0)
             resample_out = &output_buffer;
 
         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,
         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;
 
         if (ret < 0)
             return ret;