X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_silenceremove.c;h=d826a22e9dea6a8bfc8ccab543399d34d27dd093;hb=0929def32765807d156860fb13af1154ce4a249a;hp=af504630598e4a4560a685a3cebe7f79e843abd7;hpb=5e4923b411b9b77b306d8e9247afb4b2f04f1a8f;p=ffmpeg diff --git a/libavfilter/af_silenceremove.c b/libavfilter/af_silenceremove.c index af504630598..d826a22e9de 100644 --- a/libavfilter/af_silenceremove.c +++ b/libavfilter/af_silenceremove.c @@ -186,8 +186,17 @@ static int config_input(AVFilterLink *inlink) s->start_duration = av_rescale(s->start_duration, inlink->sample_rate, AV_TIME_BASE); + if (s->start_duration < 0) { + av_log(ctx, AV_LOG_WARNING, "start duration must be non-negative\n"); + s->start_duration = -s->start_duration; + } + s->stop_duration = av_rescale(s->stop_duration, inlink->sample_rate, AV_TIME_BASE); + if (s->stop_duration < 0) { + av_log(ctx, AV_LOG_WARNING, "stop duration must be non-negative\n"); + s->stop_duration = -s->stop_duration; + } s->start_holdoff = av_malloc_array(FFMAX(s->start_duration, 1), sizeof(*s->start_holdoff) * @@ -469,7 +478,7 @@ static int request_frame(AVFilterLink *outlink) (AVRational){1, outlink->sample_rate}, outlink->time_base); - ret = ff_filter_frame(ctx->inputs[0], frame); + ret = ff_filter_frame(outlink, frame); } s->mode = SILENCE_STOP; }