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.
This commit is contained in:
Stefano Sabatini 2013-02-10 17:46:17 +01:00
parent 0e3dacb11e
commit f0703b6cba
1 changed files with 5 additions and 2 deletions

View File

@ -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) {