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. lu _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
