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;
}
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;
}

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.
-async 1 is a special case where only the start of the audio stream is corrected
without any later correction.
This option has been deprecated. Use the @code{asyncts} audio filter instead.
@item -copyts
Copy timestamps from input to output.
@item -copytb