[FFmpeg-cvslog] avdevice/v4l2: only use frame period from v4l2 if valid

Michael Niedermayer git at videolan.org
Fri Mar 7 04:08:47 CET 2014


ffmpeg | branch: release/1.1 | Michael Niedermayer <michaelni at gmx.at> | Sun Feb  2 00:10:43 2014 +0100| [c6a4083c29e00f769b770964016f694f55c1560c] | committer: Michael Niedermayer

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 <michaelni at gmx.at>
(cherry picked from commit 4aa4533ee8b51a1e6bdc4fbffaf90aa2b14e2c9f)

Conflicts:

	libavdevice/v4l2.c

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c6a4083c29e00f769b770964016f694f55c1560c
---

 libavdevice/v4l2.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
index 88cacd9..00686a4 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;
 }



More information about the ffmpeg-cvslog mailing list