diff options
-rw-r--r-- | ffmpeg.c | 10 | ||||
-rw-r--r-- | ffplay.c | 7 | ||||
-rw-r--r-- | libswresample/swresample.c | 7 | ||||
-rw-r--r-- | libswresample/swresample.h | 7 | ||||
-rw-r--r-- | libswresample/swresample_test.c | 12 |
5 files changed, 23 insertions, 20 deletions
@@ -891,11 +891,11 @@ need_realloc: //ost->swr = NULL; ost->audio_resample = 0; } else { - ost->swr = swr_alloc2(ost->swr, - enc->channel_layout, enc->sample_fmt, enc->sample_rate, - dec->channel_layout, dec->sample_fmt, dec->sample_rate, - ost->audio_channels_mapped ? ost->audio_channels_map : NULL, - 0, NULL); + ost->swr = swr_alloc_set_opts(ost->swr, + enc->channel_layout, enc->sample_fmt, enc->sample_rate, + dec->channel_layout, dec->sample_fmt, dec->sample_rate, + ost->audio_channels_mapped ? ost->audio_channels_map : NULL, + 0, NULL); av_opt_set_double(ost->swr, "rmvol", ost->rematrix_volume, 0); if (ost->audio_channels_mapped) { av_opt_set_int(ost->swr, "icl", av_get_default_channel_layout(ost->audio_channels_mapped), 0); @@ -2076,9 +2076,10 @@ static int audio_decode_frame(VideoState *is, double *pts_ptr) if (dec->sample_fmt != is->audio_src_fmt || dec_channel_layout != is->audio_src_channel_layout || dec->sample_rate != is->audio_src_freq) { if (is->swr_ctx) swr_free(&is->swr_ctx); - is->swr_ctx = swr_alloc2(NULL, is->audio_tgt_channel_layout, is->audio_tgt_fmt, is->audio_tgt_freq, - dec_channel_layout, dec->sample_fmt, dec->sample_rate, - NULL, 0, NULL); + is->swr_ctx = swr_alloc_set_opts(NULL, + is->audio_tgt_channel_layout, is->audio_tgt_fmt, is->audio_tgt_freq, + dec_channel_layout, dec->sample_fmt, dec->sample_rate, + NULL, 0, NULL); if (!is->swr_ctx || swr_init(is->swr_ctx) < 0) { fprintf(stderr, "Cannot create sample rate converter for conversion of %d Hz %s %d channels to %d Hz %s %d channels!\n", dec->sample_rate, diff --git a/libswresample/swresample.c b/libswresample/swresample.c index 0a2aa9540f..88dacd6910 100644 --- a/libswresample/swresample.c +++ b/libswresample/swresample.c @@ -82,9 +82,10 @@ SwrContext *swr_alloc(void){ return s; } -SwrContext *swr_alloc2(struct SwrContext *s, int64_t out_ch_layout, enum AVSampleFormat out_sample_fmt, int out_sample_rate, - int64_t in_ch_layout, enum AVSampleFormat in_sample_fmt, int in_sample_rate, - const int *channel_map, int log_offset, void *log_ctx){ +SwrContext *swr_alloc_set_opts(struct SwrContext *s, + int64_t out_ch_layout, enum AVSampleFormat out_sample_fmt, int out_sample_rate, + int64_t in_ch_layout, enum AVSampleFormat in_sample_fmt, int in_sample_rate, + const int *channel_map, int log_offset, void *log_ctx){ if(!s) s= swr_alloc(); if(!s) return NULL; diff --git a/libswresample/swresample.h b/libswresample/swresample.h index f72715b152..bd45edc674 100644 --- a/libswresample/swresample.h +++ b/libswresample/swresample.h @@ -55,9 +55,10 @@ int swr_init(struct SwrContext *s); * @see swr_init(),swr_free() * @return NULL on error */ -struct SwrContext *swr_alloc2(struct SwrContext *s, int64_t out_ch_layout, enum AVSampleFormat out_sample_fmt, int out_sample_rate, - int64_t in_ch_layout, enum AVSampleFormat in_sample_fmt, int in_sample_rate, - const int *channel_map, int log_offset, void *log_ctx); +struct SwrContext *swr_alloc_set_opts(struct SwrContext *s, + int64_t out_ch_layout, enum AVSampleFormat out_sample_fmt, int out_sample_rate, + int64_t in_ch_layout, enum AVSampleFormat in_sample_fmt, int in_sample_rate, + const int *channel_map, int log_offset, void *log_ctx); /** * Free the given SwrContext. diff --git a/libswresample/swresample_test.c b/libswresample/swresample_test.c index 1a37bcd5d2..037c91eb90 100644 --- a/libswresample/swresample_test.c +++ b/libswresample/swresample_test.c @@ -130,12 +130,12 @@ int main(int argc, char **argv){ in_ch_count, out_ch_count, in_sample_rate, out_sample_rate, av_get_sample_fmt_name(in_sample_fmt), av_get_sample_fmt_name(out_sample_fmt)); - forw_ctx = swr_alloc2(forw_ctx, out_ch_layout, out_sample_fmt+planar_out, out_sample_rate, - in_ch_layout, in_sample_fmt+planar_in , in_sample_rate, - NULL, 0, 0); - backw_ctx = swr_alloc2(backw_ctx,in_ch_layout, in_sample_fmt, in_sample_rate, - out_ch_layout, out_sample_fmt+planar_out, out_sample_rate, - NULL, 0, 0); + forw_ctx = swr_alloc_set_opts(forw_ctx, out_ch_layout, out_sample_fmt+planar_out, out_sample_rate, + in_ch_layout, in_sample_fmt+planar_in , in_sample_rate, + NULL, 0, 0); + backw_ctx = swr_alloc_set_opts(backw_ctx, in_ch_layout, in_sample_fmt, in_sample_rate, + out_ch_layout, out_sample_fmt+planar_out, out_sample_rate, + NULL, 0, 0); if(swr_init( forw_ctx) < 0) fprintf(stderr, "swr_init(->) failed\n"); if(swr_init(backw_ctx) < 0) |