[FFmpeg-devel] [PATCH 3/3] avformat/mov: remove an always true condition

mypopy at gmail.com mypopy at gmail.com
Tue Dec 8 10:43:45 EET 2020


On Sat, Oct 17, 2020 at 11:48 PM Zhao Zhili <quinkblack at foxmail.com> wrote:
>
>
>
> > On Sep 18, 2020, at 10:33 PM, Zhao Zhili <quinkblack at foxmail.com> wrote:
> >
> > From: Zhao Zhili <zhilizhao at tencent.com>
> >
> > ---
> > libavformat/mov.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavformat/mov.c b/libavformat/mov.c
> > index 9fc0db24d5..f99605c2cd 100644
> > --- a/libavformat/mov.c
> > +++ b/libavformat/mov.c
> > @@ -1475,7 +1475,7 @@ static int mov_read_mvhd(MOVContext *c, AVIOContext *pb, MOVAtom atom)
> >     c->duration = (version == 1) ? avio_rb64(pb) : avio_rb32(pb); /* duration */
> >     // set the AVFormatContext duration because the duration of individual tracks
> >     // may be inaccurate
> > -    if (c->time_scale > 0 && !c->trex_data)
> > +    if (!c->trex_data)
> >         c->fc->duration = av_rescale(c->duration, AV_TIME_BASE, c->time_scale);
> >     avio_rb32(pb); /* preferred scale */
>
> Ping for review.
>
> The always true condition is not obvious in the patch. time_scale is checked a few lines before explicitly.
>
> 1471     if (c->time_scale <= 0) {
> 1472         av_log(c->fc, AV_LOG_ERROR, "Invalid mvhd time scale %d, defaulting to 1\n", c->time_scale);
> 1473         c->time_scale = 1;
> 1474     }
> 1475     av_log(c->fc, AV_LOG_TRACE, "time scale = %i\n", c->time_scale);
> 1476
> 1477     c->duration = (version == 1) ? avio_rb64(pb) : avio_rb32(pb); /* duration */
> 1478     // set the AVFormatContext duration because the duration of individual tracks
> 1479     // may be inaccurate
> 1480     if (c->time_scale > 0 && !c->trex_data)
> 1481         c->fc->duration = av_rescale(c->duration, AV_TIME_BASE, c->time_scale);
>
LGTM, will apply if no object


More information about the ffmpeg-devel mailing list