aboutsummaryrefslogtreecommitdiffstats
path: root/ffmpeg.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-06-01 18:42:12 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-06-01 18:43:13 +0200
commitd43812e235bc7472c102a9e1aa7e88abd441e6fd (patch)
tree1dcdc45d995e21830e929fb43cae99e5086dec12 /ffmpeg.c
parent0766b6e3ec6b7f51af5787421290284050e32a91 (diff)
downloadffmpeg-d43812e235bc7472c102a9e1aa7e88abd441e6fd.tar.gz
ffmpeg: move pan filter insertion up.
This fixes one (disabled) fate test. Thanks-to: ubitux to pointing at the odd filter order and stereo/mono messup Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'ffmpeg.c')
-rw-r--r--ffmpeg.c67
1 files changed, 33 insertions, 34 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index f654a2bdbd..56c961b9e0 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1004,6 +1004,39 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
if (ret < 0)
return ret;
+#define AUTO_INSERT_FILTER(opt_name, filter_name, arg) do { \
+ AVFilterContext *filt_ctx; \
+ \
+ av_log(NULL, AV_LOG_INFO, opt_name " is forwarded to lavfi " \
+ "similarly to -af " filter_name "=%s.\n", arg); \
+ \
+ ret = avfilter_graph_create_filter(&filt_ctx, \
+ avfilter_get_by_name(filter_name), \
+ filter_name, arg, NULL, fg->graph); \
+ if (ret < 0) \
+ return ret; \
+ \
+ ret = avfilter_link(last_filter, pad_idx, filt_ctx, 0); \
+ if (ret < 0) \
+ return ret; \
+ \
+ last_filter = filt_ctx; \
+ pad_idx = 0; \
+} while (0)
+ if (ost->audio_channels_mapped) {
+ int i;
+ AVBPrint pan_buf;
+ av_bprint_init(&pan_buf, 256, 8192);
+ av_bprintf(&pan_buf, "0x%"PRIx64,
+ av_get_default_channel_layout(ost->audio_channels_mapped));
+ for (i = 0; i < ost->audio_channels_mapped; i++)
+ if (ost->audio_channels_map[i] != -1)
+ av_bprintf(&pan_buf, ":c%d=c%d", i, ost->audio_channels_map[i]);
+
+ AUTO_INSERT_FILTER("-map_channel", "pan", pan_buf.str);
+ av_bprint_finalize(&pan_buf, NULL);
+ }
+
if (codec->channels && !codec->channel_layout)
codec->channel_layout = av_get_default_channel_layout(codec->channels);
@@ -1044,26 +1077,6 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
pad_idx = 0;
}
-#define AUTO_INSERT_FILTER(opt_name, filter_name, arg) do { \
- AVFilterContext *filt_ctx; \
- \
- av_log(NULL, AV_LOG_INFO, opt_name " is forwarded to lavfi " \
- "similarly to -af " filter_name "=%s.\n", arg); \
- \
- ret = avfilter_graph_create_filter(&filt_ctx, \
- avfilter_get_by_name(filter_name), \
- filter_name, arg, NULL, fg->graph); \
- if (ret < 0) \
- return ret; \
- \
- ret = avfilter_link(last_filter, pad_idx, filt_ctx, 0); \
- if (ret < 0) \
- return ret; \
- \
- last_filter = filt_ctx; \
- pad_idx = 0; \
-} while (0)
-
if (audio_sync_method > 0 && 0) {
char args[256] = {0};
@@ -1073,20 +1086,6 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
AUTO_INSERT_FILTER("-async", "aresample", args);
}
- if (ost->audio_channels_mapped) {
- int i;
- AVBPrint pan_buf;
- av_bprint_init(&pan_buf, 256, 8192);
- av_bprintf(&pan_buf, "0x%"PRIx64,
- av_get_default_channel_layout(ost->audio_channels_mapped));
- for (i = 0; i < ost->audio_channels_mapped; i++)
- if (ost->audio_channels_map[i] != -1)
- av_bprintf(&pan_buf, ":c%d=c%d", i, ost->audio_channels_map[i]);
-
- AUTO_INSERT_FILTER("-map_channel", "pan", pan_buf.str);
- av_bprint_finalize(&pan_buf, NULL);
- }
-
if (audio_volume != 256) {
char args[256];