/*
* Linux video grab interface
- * Copyright (c) 2000,2001 Fabrice Bellard.
+ * Copyright (c) 2000,2001 Fabrice Bellard
*
* This file is part of FFmpeg.
*
}
s->time_base = ap->time_base;
- if((unsigned)ap->width > 32767 || (unsigned)ap->height > 32767) {
- av_log(s1, AV_LOG_ERROR, "Capture size is out of range: %dx%d\n",
- ap->width, ap->height);
- return -1;
- }
s->video_win.width = ap->width;
s->video_win.height = ap->height;
}
}
+ if(avcodec_check_dimensions(s1, s->video_win.width, s->video_win.height) < 0)
+ return -1;
+
desired_palette = -1;
desired_depth = -1;
for (j = 0; j < vformat_num; j++) {
s->video_win.chromakey = -1;
s->video_win.flags = 0;
- ioctl(video_fd, VIDIOCSWIN, s->video_win);
+ if (ioctl(video_fd, VIDIOCSWIN, s->video_win) < 0) {
+ av_log(s1, AV_LOG_ERROR, "VIDIOCSWIN: %s\n", strerror(errno));
+ goto fail;
+ }
s->frame_format = pict.palette;
if (ioctl(video_fd, VIDIOCMCAPTURE, &s->gb_buf) < 0) {
if (errno != EAGAIN) {
fail1:
- av_log(s1, AV_LOG_ERROR, "Fatal: grab device does not support suitable format\n");
+ av_log(s1, AV_LOG_ERROR, "VIDIOCMCAPTURE: %s\n", strerror(errno));
} else {
av_log(s1, AV_LOG_ERROR, "Fatal: grab device does not receive any video signal\n");
}
AVInputFormat v4l_demuxer = {
"video4linux",
- NULL_IF_CONFIG_SMALL("video grab"),
+ NULL_IF_CONFIG_SMALL("Video4Linux device grab"),
sizeof(VideoData),
NULL,
grab_read_header,