[FFmpeg-devel] [PATCH] format/imfdec: improve error handling when selecting tracks for playback

Pierre-Anthony Lemieux pal at sandflow.com
Fri Sep 16 23:19:09 EEST 2022


On Fri, Sep 16, 2022 at 1:15 PM Michael Niedermayer
<michael at niedermayer.cc> wrote:
>
> On Fri, Sep 16, 2022 at 10:39:22AM -0700, Pierre-Anthony Lemieux wrote:
> > On Fri, Sep 16, 2022 at 10:27 AM Michael Niedermayer
> > <michael at niedermayer.cc> wrote:
> > >
> > > On Wed, Sep 07, 2022 at 01:02:33PM -0700, pal at sandflow.com wrote:
> > > > From: Pierre-Anthony Lemieux <pal at palemieux.com>
> > > >
> > > > Addresses coverity 1512414
> > > >
> > > > ---
> > > >  libavformat/imfdec.c | 15 ++++++++++++---
> > > >  1 file changed, 12 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/libavformat/imfdec.c b/libavformat/imfdec.c
> > > > index 5bbe7a53f8..58b1455c9f 100644
> > > > --- a/libavformat/imfdec.c
> > > > +++ b/libavformat/imfdec.c
> > > > @@ -681,8 +681,11 @@ static IMFVirtualTrackPlaybackCtx *get_next_track_with_minimum_timestamp(AVForma
> > > >  {
> > > >      IMFContext *c = s->priv_data;
> > > >      IMFVirtualTrackPlaybackCtx *track;
> > >
> > > > +    AVRational minimum_timestamp = av_make_q(INT_MAX, 1);
> > > > -    AVRational minimum_timestamp = av_make_q(INT32_MAX, 1);
> > >
> > > iam not sure thats a good idea, it would change behavior on different platforms
> >
> > I was following the earlier observations that "The initialization of
> > minimum_timestamp presumes that int are 32bit which need not be true":
> >
> > http://ffmpeg.org/pipermail/ffmpeg-devel/2022-August/300587.html
> >
> > If I am not mistaken, the numerator and denominator of AVRational are
> > defined as `int`:
> >
> > https://www.ffmpeg.org/doxygen/trunk/structAVRational.html
> >
> > What would be the alternative?
>
> I dont understand why this code uses AVRational for timestamps
> normally timestamps are int64_t with a AVRational timebase and would use
> av_compare_ts() for comparing

Temporal offsets on IMF tracks are typically expressed as rationals,
and each track can have its own timebase.

>
> thx
>
> [...]
>
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> When you are offended at any man's fault, turn to yourself and study your
> own failings. Then you will forget your anger. -- Epictetus
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list