[FFmpeg-cvslog] lavr: do not pass sample count as a parameter to ff_audio_convert()
Justin Ruggles
git at videolan.org
Wed Nov 28 13:31:25 CET 2012
ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Thu Nov 1 00:44:11 2012 -0400| [7f534d11ed37dd03cbaa73eefbfa75696ff04f58] | committer: Justin Ruggles
lavr: do not pass sample count as a parameter to ff_audio_convert()
It will always be the number of samples in the input buffer, so just use that
directly instead of passing it as a separate parameter.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7f534d11ed37dd03cbaa73eefbfa75696ff04f58
---
libavresample/audio_convert.c | 3 ++-
libavresample/audio_convert.h | 7 +++++--
libavresample/utils.c | 9 ++++-----
3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/libavresample/audio_convert.c b/libavresample/audio_convert.c
index e9835c8..dcf8a39 100644
--- a/libavresample/audio_convert.c
+++ b/libavresample/audio_convert.c
@@ -284,9 +284,10 @@ AudioConvert *ff_audio_convert_alloc(AVAudioResampleContext *avr,
return ac;
}
-int ff_audio_convert(AudioConvert *ac, AudioData *out, AudioData *in, int len)
+int ff_audio_convert(AudioConvert *ac, AudioData *out, AudioData *in)
{
int use_generic = 1;
+ int len = in->nb_samples;
/* determine whether to use the optimized function based on pointer and
samples alignment in both the input and output */
diff --git a/libavresample/audio_convert.h b/libavresample/audio_convert.h
index 2b8bfac..bc27223 100644
--- a/libavresample/audio_convert.h
+++ b/libavresample/audio_convert.h
@@ -72,13 +72,16 @@ AudioConvert *ff_audio_convert_alloc(AVAudioResampleContext *avr,
* examined to determine whether to use the generic or optimized conversion
* function (when available).
*
+ * The number of samples to convert is determined by in->nb_samples. The output
+ * buffer must be large enough to handle this many samples. out->nb_samples is
+ * set by this function before a successful return.
+ *
* @param ac AudioConvert context
* @param out output audio data
* @param in input audio data
- * @param len number of samples to convert
* @return 0 on success, negative AVERROR code on failure
*/
-int ff_audio_convert(AudioConvert *ac, AudioData *out, AudioData *in, int len);
+int ff_audio_convert(AudioConvert *ac, AudioData *out, AudioData *in);
/* arch-specific initialization functions */
diff --git a/libavresample/utils.c b/libavresample/utils.c
index 2d15e37..20b5fb1 100644
--- a/libavresample/utils.c
+++ b/libavresample/utils.c
@@ -313,8 +313,8 @@ int attribute_align_arg avresample_convert(AVAudioResampleContext *avr,
if (ret < 0)
return ret;
av_dlog(avr, "[convert] %s to in_buffer\n", current_buffer->name);
- ret = ff_audio_convert(avr->ac_in, avr->in_buffer, current_buffer,
- current_buffer->nb_samples);
+ ret = ff_audio_convert(avr->ac_in, avr->in_buffer,
+ current_buffer);
if (ret < 0)
return ret;
} else {
@@ -381,8 +381,7 @@ int attribute_align_arg avresample_convert(AVAudioResampleContext *avr,
if (direct_output && out_samples >= current_buffer->nb_samples) {
/* convert directly to output */
av_dlog(avr, "[convert] %s to output\n", current_buffer->name);
- ret = ff_audio_convert(avr->ac_out, &output_buffer, current_buffer,
- current_buffer->nb_samples);
+ ret = ff_audio_convert(avr->ac_out, &output_buffer, current_buffer);
if (ret < 0)
return ret;
@@ -395,7 +394,7 @@ int attribute_align_arg avresample_convert(AVAudioResampleContext *avr,
return ret;
av_dlog(avr, "[convert] %s to out_buffer\n", current_buffer->name);
ret = ff_audio_convert(avr->ac_out, avr->out_buffer,
- current_buffer, current_buffer->nb_samples);
+ current_buffer);
if (ret < 0)
return ret;
current_buffer = avr->out_buffer;
More information about the ffmpeg-cvslog
mailing list