diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 7dc8b482be..c5c30448dc 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -275,10 +275,9 @@ int avfilter_config_links(AVFilterContext *filter) link->sample_aspect_ratio = inlink ? inlink->sample_aspect_ratio : (AVRational){1,1}; - if (inlink && !link->frame_rate.num && !link->frame_rate.den) - link->frame_rate = inlink->frame_rate; - if (inlink) { + if (!link->frame_rate.num && !link->frame_rate.den) + link->frame_rate = inlink->frame_rate; if (!link->w) link->w = inlink->w; if (!link->h) diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 5d4cd6ce12..7aac3cf934 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -445,11 +445,12 @@ struct AVFilterLink { int age_index; /** - * Frame rate of the stream on the link, or 1/0 if unknown; - * if left to 0/0, will be automatically be copied from the first input + * Frame rate of the stream on the link, or 1/0 if unknown or variable; + * if left to 0/0, will be automatically copied from the first input * of the source filter if it exists. * * Sources should set it to the best estimation of the real frame rate. + * If the source frame rate is unknown or variable, set this to 1/0. * Filters should update it if necessary depending on their function. * Sinks can use it to set a default output frame rate. * It is similar to the r_frame_rate field in AVStream.