diff options
Diffstat (limited to 'libavresample/resample.c')
-rw-r--r-- | libavresample/resample.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/libavresample/resample.c b/libavresample/resample.c index 01fc500..cc0fe79 100644 --- a/libavresample/resample.c +++ b/libavresample/resample.c @@ -243,62 +243,8 @@ int avresample_set_compensation(AVAudioResampleContext *avr, int sample_delta, return AVERROR(EINVAL); if (!avr->resample_needed) { -#if FF_API_RESAMPLE_CLOSE_OPEN - /* if resampling was not enabled previously, re-initialize the - AVAudioResampleContext and force resampling */ - int fifo_samples; - int restore_matrix = 0; - double matrix[AVRESAMPLE_MAX_CHANNELS * AVRESAMPLE_MAX_CHANNELS] = { 0 }; - - /* buffer any remaining samples in the output FIFO before closing */ - fifo_samples = av_audio_fifo_size(avr->out_fifo); - if (fifo_samples > 0) { - fifo_buf = ff_audio_data_alloc(avr->out_channels, fifo_samples, - avr->out_sample_fmt, NULL); - if (!fifo_buf) - return AVERROR(EINVAL); - ret = ff_audio_data_read_from_fifo(avr->out_fifo, fifo_buf, - fifo_samples); - if (ret < 0) - goto reinit_fail; - } - /* save the channel mixing matrix */ - if (avr->am) { - ret = avresample_get_matrix(avr, matrix, AVRESAMPLE_MAX_CHANNELS); - if (ret < 0) - goto reinit_fail; - restore_matrix = 1; - } - - /* close the AVAudioResampleContext */ - avresample_close(avr); - - avr->force_resampling = 1; - - /* restore the channel mixing matrix */ - if (restore_matrix) { - ret = avresample_set_matrix(avr, matrix, AVRESAMPLE_MAX_CHANNELS); - if (ret < 0) - goto reinit_fail; - } - - /* re-open the AVAudioResampleContext */ - ret = avresample_open(avr); - if (ret < 0) - goto reinit_fail; - - /* restore buffered samples to the output FIFO */ - if (fifo_samples > 0) { - ret = ff_audio_data_add_to_fifo(avr->out_fifo, fifo_buf, 0, - fifo_samples); - if (ret < 0) - goto reinit_fail; - ff_audio_data_free(&fifo_buf); - } -#else av_log(avr, AV_LOG_ERROR, "Unable to set resampling compensation\n"); return AVERROR(EINVAL); -#endif } c = avr->resample; c->compensation_distance = compensation_distance; |