Browse code

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

Luca Abeni authored on 2006/10/22 18:56:08
Showing 1 changed files
... ...
@@ -308,7 +308,12 @@ static int mmap_read_frame(struct video_data *s, void *frame, int64_t *ts)
308 308
         return -1;
309 309
     }
310 310
     assert (buf.index < s->buffers);
311
-    assert(buf.bytesused == s->frame_size);
311
+    if (buf.bytesused != s->frame_size) {
312
+        av_log(NULL, AV_LOG_ERROR, "The v4l2 frame is %d bytes, but %d bytes are expected\n", buf.bytesused, s->frame_size);
313
+
314
+        return -1;
315
+    }
316
+
312 317
     /* Image is at s->buff_start[buf.index] */
313 318
     memcpy(frame, s->buf_start[buf.index], buf.bytesused);
314 319
     *ts = buf.timestamp.tv_sec * int64_t_C(1000000) + buf.timestamp.tv_usec;