[SCM] libav/experimental: Make read_packet fail is the v4l2 driver returns an unexpected frame size (driver's bug? If not, we will have to support this in some way)

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:52:29 UTC 2013


The following commit has been merged in the experimental branch:
commit 7c7e7464e3f49e9a1fa98b06c4261e75ce71290b
Author: Luca Abeni <lucabe72 at email.it>
Date:   Sun Oct 22 09:56:08 2006 +0000

    Make read_packet fail is the v4l2 driver returns an unexpected frame size
    (driver's bug? If not, we will have to support this in some way)
    
    Originally committed as revision 6756 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/v4l2.c b/libavformat/v4l2.c
index 10841aa..00adcca 100644
--- a/libavformat/v4l2.c
+++ b/libavformat/v4l2.c
@@ -308,7 +308,12 @@ static int mmap_read_frame(struct video_data *s, void *frame, int64_t *ts)
         return -1;
     }
     assert (buf.index < s->buffers);
-    assert(buf.bytesused == s->frame_size);
+    if (buf.bytesused != s->frame_size) {
+        av_log(NULL, AV_LOG_ERROR, "The v4l2 frame is %d bytes, but %d bytes are expected\n", buf.bytesused, s->frame_size);
+
+        return -1;
+    }
+
     /* Image is at s->buff_start[buf.index] */
     memcpy(frame, s->buf_start[buf.index], buf.bytesused);
     *ts = buf.timestamp.tv_sec * int64_t_C(1000000) + buf.timestamp.tv_usec;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list