From c6a4083c29e00f769b770964016f694f55c1560c Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 2 Feb 2014 00:10:43 +0100 Subject: [PATCH] avdevice/v4l2: only use frame period from v4l2 if valid There is evidence that some drivers do not set a valid value See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718805 Signed-off-by: Michael Niedermayer (cherry picked from commit 4aa4533ee8b51a1e6bdc4fbffaf90aa2b14e2c9f) Conflicts: libavdevice/v4l2.c --- libavdevice/v4l2.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c index 88cacd9545..00686a490d 100644 --- a/libavdevice/v4l2.c +++ b/libavdevice/v4l2.c @@ -735,8 +735,11 @@ static int v4l2_set_parameters(AVFormatContext *s1) return AVERROR(errno); } } - s1->streams[0]->codec->time_base.den = tpf->denominator; - s1->streams[0]->codec->time_base.num = tpf->numerator; + if (tpf->denominator > 0 && tpf->numerator > 0) { + s1->streams[0]->codec->time_base.den = tpf->denominator; + s1->streams[0]->codec->time_base.num = tpf->numerator; + } else + av_log(s1, AV_LOG_WARNING, "Time per frame unknown\n"); return 0; }