mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-26 01:03:07 +00:00
avfilter/af_adelay: allow setting delays in seconds
This commit is contained in:
parent
e1f7881d92
commit
35a8179149
@ -683,6 +683,7 @@ Set list of delays in milliseconds for each channel separated by '|'.
|
||||
Unused delays will be silently ignored. If number of given delays is
|
||||
smaller than number of channels all remaining channels will not be delayed.
|
||||
If you want to delay exact number of samples, append 'S' to number.
|
||||
If you want instead to delay in seconds, append 's' to number.
|
||||
@end table
|
||||
|
||||
@subsection Examples
|
||||
|
@ -141,7 +141,7 @@ static int config_input(AVFilterLink *inlink)
|
||||
p = s->delays;
|
||||
for (i = 0; i < s->nb_delays; i++) {
|
||||
ChanDelay *d = &s->chandelay[i];
|
||||
float delay;
|
||||
float delay, div;
|
||||
char type = 0;
|
||||
int ret;
|
||||
|
||||
@ -152,8 +152,9 @@ static int config_input(AVFilterLink *inlink)
|
||||
|
||||
ret = av_sscanf(arg, "%d%c", &d->delay, &type);
|
||||
if (ret != 2 || type != 'S') {
|
||||
div = type == 's' ? 1.0 : 1000.0;
|
||||
av_sscanf(arg, "%f", &delay);
|
||||
d->delay = delay * inlink->sample_rate / 1000.0;
|
||||
d->delay = delay * inlink->sample_rate / div;
|
||||
}
|
||||
|
||||
if (d->delay < 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user