Quoting Luca Barbato (2015-12-18 15:36:33)
> On 18/12/15 15:25, Andreas Cadhalpun wrote:
> > On 18.12.2015 12:00, Luca Barbato wrote:
> >> On 17/12/15 23:01, Andreas Cadhalpun wrote:
> >>> On 16.12.2015 22:18, Luca Barbato wrote:
> >>>> On 16/12/15 20:56, Andreas Cadhalpun wrote:
> >>>>> Signed-off-by: Andreas Cadhalpun <[email protected]>
> >>>>> ---
> >>>>>  libavformat/nuv.c | 4 ++++
> >>>>>  1 file changed, 4 insertions(+)
> >>>>>
> >>>>> diff --git a/libavformat/nuv.c b/libavformat/nuv.c
> >>>>> index 2a1b70f..4cb28d5 100644
> >>>>> --- a/libavformat/nuv.c
> >>>>> +++ b/libavformat/nuv.c
> >>>>> @@ -172,6 +172,10 @@ static int nuv_header(AVFormatContext *s)
> >>>>>      if (aspect > 0.9999 && aspect < 1.0001)
> >>>>>          aspect = 4.0 / 3.0;
> >>>>>      fps = av_int2double(avio_rl64(pb));
> >>>>> +    if (fps <= 0.0f) {
> >>>>> +        av_log(s, AV_LOG_ERROR, "Invalid frame rate %f\n", fps);
> >>>>> +        return AVERROR_INVALIDDATA;
> >>>>> +    }
> >>>>>  
> >>>>>      // number of packets per stream type, -1 means unknown, e.g. 
> >>>>> streaming
> >>>>>      v_packs = avio_rl32(pb);
> >>>>>
> >>>>
> >>>> What happens if a negative fps is used?
> >>>
> >>> It doesn't make sense. Or what is a negative frame rate supposed to mean?
> >>
> >> So the options are:
> >>
> >> a- not demux at all
> > 
> > That's what my patch does.
> > 
> >> b- mark the framerate as invalid
> > 
> > How does one do that?
> > 
> >> and let the user decide what to do,
> >> e.g. override it with a value that works for them.
> >> c- a or b depending on explode.
> >>
> >> A framerate of 0 is the same as a negative framerate for all the
> >> intended purposes.
> > 
> > So should a negative framerate simply be set to 0?
> > 
> 
> I'd just have an explode mode: either error out or otherwise set it to
> invalid (0 is fine as invalid) and let the user decide what to do.

To elaborate, check if AV_EF_EXPLODE is set in
AVFormatContext.error_recognition

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to