avconv: automatically insert asyncts when -async is used.

Deprecate -async.
This commit is contained in:
Anton Khirnov 2012-05-09 06:39:37 +02:00
parent 369cb092ec
commit 6eeb9a0433
2 changed files with 28 additions and 0 deletions

View File

@ -703,6 +703,33 @@ static int configure_audio_filters(FilterGraph *fg, AVFilterContext **in_filter,
*out_filter = format; *out_filter = format;
} }
if (audio_sync_method > 0) {
AVFilterContext *async;
char args[256];
int len = 0;
av_log(NULL, AV_LOG_WARNING, "-async has been deprecated. Used the "
"asyncts audio filter instead.\n");
if (audio_sync_method > 1)
len += snprintf(args + len, sizeof(args) - len, "compensate=1:"
"max_comp=%d:", audio_sync_method);
snprintf(args + len, sizeof(args) - len, "min_delta=%f",
audio_drift_threshold);
ret = avfilter_graph_create_filter(&async,
avfilter_get_by_name("asyncts"),
"async", args, NULL, fg->graph);
if (ret < 0)
return ret;
ret = avfilter_link(*in_filter, 0, async, 0);
if (ret < 0)
return ret;
*in_filter = async;
}
return 0; return 0;
} }

View File

@ -610,6 +610,7 @@ Audio sync method. "Stretches/squeezes" the audio stream to match the timestamps
the parameter is the maximum samples per second by which the audio is changed. the parameter is the maximum samples per second by which the audio is changed.
-async 1 is a special case where only the start of the audio stream is corrected -async 1 is a special case where only the start of the audio stream is corrected
without any later correction. without any later correction.
This option has been deprecated. Use the @code{asyncts} audio filter instead.
@item -copyts @item -copyts
Copy timestamps from input to output. Copy timestamps from input to output.
@item -copytb @item -copytb