diff options
author | Clément Bœsch <ubitux@gmail.com> | 2012-05-19 20:08:25 +0200 |
---|---|---|
committer | Clément Bœsch <ubitux@gmail.com> | 2012-05-24 23:33:21 +0200 |
commit | d8e075b1a0784b0845be40da2cf2433b936e998d (patch) | |
tree | 3044789ced71a224e6aa83e75011c8e220d62dae /ffmpeg.c | |
parent | 2416cd40350972a33b075fb95a77f56a02c5a48b (diff) | |
download | ffmpeg-d8e075b1a0784b0845be40da2cf2433b936e998d.tar.gz |
ffmpeg: use AUTO_INSERT_FILTER() for -async option.
Diffstat (limited to 'ffmpeg.c')
-rw-r--r-- | ffmpeg.c | 32 |
1 files changed, 9 insertions, 23 deletions
@@ -872,29 +872,6 @@ static int configure_audio_filters(FilterGraph *fg, AVFilterContext **in_filter, *out_filter = format; } - if (audio_sync_method > 0) { - AVFilterContext *aswr; - char args[256] = {0}; - - av_strlcatf(args, sizeof(args), "min_comp=0.001:min_hard_comp=%f", audio_drift_threshold); - - if (audio_sync_method > 1) - av_strlcatf(args, sizeof(args), ":max_soft_comp=%f", audio_sync_method/(double)icodec->sample_rate); - - av_log(NULL, AV_LOG_INFO, "-async %d is forwarded to lavfi similarly to -af aresample=%s\n", audio_sync_method, args); - - ret = avfilter_graph_create_filter(&aswr, avfilter_get_by_name("aresample"), - "aresample", args, NULL, fg->graph); - if (ret < 0) - return ret; - - ret = avfilter_link(*in_filter, 0, aswr, 0); - if (ret < 0) - return ret; - - *in_filter = aswr; - } - #define AUTO_INSERT_FILTER(opt_name, filter_name, arg) do { \ AVFilterContext *filt_ctx; \ \ @@ -914,6 +891,15 @@ static int configure_audio_filters(FilterGraph *fg, AVFilterContext **in_filter, *in_filter = filt_ctx; \ } while (0) + if (audio_sync_method > 0) { + char args[256] = {0}; + + av_strlcatf(args, sizeof(args), "min_comp=0.001:min_hard_comp=%f", audio_drift_threshold); + if (audio_sync_method > 1) + av_strlcatf(args, sizeof(args), ":max_soft_comp=%f", audio_sync_method/(double)icodec->sample_rate); + AUTO_INSERT_FILTER("-async", "aresample", args); + } + if (ost->audio_channels_mapped) { int i; AVBPrint pan_buf; |