summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ffmpeg.c10
-rw-r--r--ffplay.c7
-rw-r--r--libswresample/swresample.c7
-rw-r--r--libswresample/swresample.h7
-rw-r--r--libswresample/swresample_test.c12
5 files changed, 23 insertions, 20 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index 3d1185c3f7..b664339934 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -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);
diff --git a/ffplay.c b/ffplay.c
index 5cc4fa4258..8022be504c 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -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)