Browse Source

avconv: automatically insert asyncts when -async is used.

Deprecate -async.
tags/n0.11
Anton Khirnov 13 years ago
parent
commit
6eeb9a0433
2 changed files with 28 additions and 0 deletions
  1. +27
    -0
      avconv.c
  2. +1
    -0
      doc/avconv.texi

+ 27
- 0
avconv.c 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;
} }




+ 1
- 0
doc/avconv.texi 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


Loading…
Cancel
Save