diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-12-20 12:18:28 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-12-20 12:18:28 +0100 |
commit | 41135b7f64e699a71250b0c2082ba53b0338069a (patch) | |
tree | 722cfb318703cc777579faa3d1996f8c340d35cf /libavresample/utils.c | |
parent | 40ea3438661e6cc30b60bc019ae01fb073eabb35 (diff) | |
parent | b2fe6756e34d1316d0fa799e8a5ace993059c407 (diff) | |
download | ffmpeg-41135b7f64e699a71250b0c2082ba53b0338069a.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
lavr: add option for dithering during sample format conversion to s16
mpeg12: do not decode extradata more than once.
Conflicts:
libavcodec/mpeg12.c
libavcodec/mpeg12.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavresample/utils.c')
-rw-r--r-- | libavresample/utils.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libavresample/utils.c b/libavresample/utils.c index 918b67a5c0..8f6583d6e8 100644 --- a/libavresample/utils.c +++ b/libavresample/utils.c @@ -142,7 +142,8 @@ int avresample_open(AVAudioResampleContext *avr) /* setup contexts */ if (avr->in_convert_needed) { avr->ac_in = ff_audio_convert_alloc(avr, avr->internal_sample_fmt, - avr->in_sample_fmt, avr->in_channels); + avr->in_sample_fmt, avr->in_channels, + avr->in_sample_rate); if (!avr->ac_in) { ret = AVERROR(ENOMEM); goto error; @@ -155,7 +156,8 @@ int avresample_open(AVAudioResampleContext *avr) else src_fmt = avr->in_sample_fmt; avr->ac_out = ff_audio_convert_alloc(avr, avr->out_sample_fmt, src_fmt, - avr->out_channels); + avr->out_channels, + avr->out_sample_rate); if (!avr->ac_out) { ret = AVERROR(ENOMEM); goto error; @@ -190,8 +192,8 @@ void avresample_close(AVAudioResampleContext *avr) ff_audio_data_free(&avr->out_buffer); av_audio_fifo_free(avr->out_fifo); avr->out_fifo = NULL; - av_freep(&avr->ac_in); - av_freep(&avr->ac_out); + ff_audio_convert_free(&avr->ac_in); + ff_audio_convert_free(&avr->ac_out); ff_audio_resample_free(&avr->resample); ff_audio_mix_free(&avr->am); av_freep(&avr->mix_matrix); |