lavd/v4l2: fix error logic when enumerating standards

Set ret to 0 before enumerating standards in v4l2_set_parameters(), avoid
use of uninitialized variable.

Regression introduced in 60950adc18.
pull/9/merge
Stefano Sabatini 12 years ago
parent 0e3dacb11e
commit f0703b6cba
  1. 7
      libavdevice/v4l2.c

@ -679,13 +679,16 @@ static int v4l2_set_parameters(AVFormatContext *s1)
if (s->standard) {
if (s->std_id) {
ret = 0;
av_log(s1, AV_LOG_DEBUG, "Setting standard: %s\n", s->standard);
/* set tv standard */
for (i = 0; ; i++) {
standard.index = i;
if (v4l2_ioctl(s->fd, VIDIOC_ENUMSTD, &standard) < 0)
if (v4l2_ioctl(s->fd, VIDIOC_ENUMSTD, &standard) < 0) {
ret = AVERROR(errno);
if (ret < 0 || !av_strcasecmp(standard.name, s->standard))
break;
}
if (!av_strcasecmp(standard.name, s->standard))
break;
}
if (ret < 0) {

Loading…
Cancel
Save