X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Ftrim.c;h=4f842eb7ffb76fb41203e714422e4be37640c1e2;hb=a04ad248a05e7b613abe09b3bb067f555108d794;hp=1dbbabbb9312c9b88793fbe1503234ce3cfe58d9;hpb=409e684e79b6ee0c511292326f09b13fe230e58e;p=ffmpeg diff --git a/libavfilter/trim.c b/libavfilter/trim.c index 1dbbabbb931..4f842eb7ffb 100644 --- a/libavfilter/trim.c +++ b/libavfilter/trim.c @@ -207,7 +207,7 @@ static const AVFilterPad trim_outputs[] = { { NULL } }; -AVFilter ff_vf_trim = { +const AVFilter ff_vf_trim = { .name = "trim", .description = NULL_IF_CONFIG_SMALL("Pick one continuous section from the input, drop the rest."), .init = init, @@ -300,7 +300,8 @@ static int atrim_filter_frame(AVFilterLink *inlink, AVFrame *frame) s->nb_samples += frame->nb_samples; start_sample = FFMAX(0, start_sample); end_sample = FFMIN(frame->nb_samples, end_sample); - av_assert0(start_sample < end_sample || (start_sample == end_sample && !frame->nb_samples)); + if (start_sample >= end_sample || !frame->nb_samples) + goto drop; if (start_sample) { AVFrame *out = ff_get_audio_buffer(ctx->outputs[0], end_sample - start_sample); @@ -361,7 +362,7 @@ static const AVFilterPad atrim_outputs[] = { { NULL } }; -AVFilter ff_af_atrim = { +const AVFilter ff_af_atrim = { .name = "atrim", .description = NULL_IF_CONFIG_SMALL("Pick one continuous section from the input, drop the rest."), .init = init,