From: Luca Abeni Date: Sun, 22 Oct 2006 09:56:08 +0000 (+0000) Subject: Make read_packet fail is the v4l2 driver returns an unexpected frame size X-Git-Tag: v0.5~11333 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7c7e7464e3f49e9a1fa98b06c4261e75ce71290b;p=platform%2Fupstream%2Flibav.git 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;