[media] zoran: remove bogus autodetect mode in set_norm
Currently, if the norm set is V4L2_STD_ALL, then autodetect the current standard and use that. This is non-standard behavior, and in fact it hasn't worked for a very long time: before s_std is called in this driver, the v4l2 core will mask it with the tvnorms field. So even if the application passes V4L2_STD_ALL, the zoran driver will always see a subset of that. Since nobody ever complained about this we just remove this non-standard functionality. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
0bde6c3e4c
commit
0b1ffb5357
|
@ -1456,29 +1456,6 @@ zoran_set_norm (struct zoran *zr,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (norm == V4L2_STD_ALL) {
|
||||
unsigned int status = 0;
|
||||
v4l2_std_id std = 0;
|
||||
|
||||
decoder_call(zr, video, querystd, &std);
|
||||
decoder_call(zr, core, s_std, std);
|
||||
|
||||
/* let changes come into effect */
|
||||
ssleep(2);
|
||||
|
||||
decoder_call(zr, video, g_input_status, &status);
|
||||
if (status & V4L2_IN_ST_NO_SIGNAL) {
|
||||
dprintk(1,
|
||||
KERN_ERR
|
||||
"%s: %s - no norm detected\n",
|
||||
ZR_DEVNAME(zr), __func__);
|
||||
/* reset norm */
|
||||
decoder_call(zr, core, s_std, zr->norm);
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
norm = std;
|
||||
}
|
||||
if (norm & V4L2_STD_SECAM)
|
||||
zr->timing = zr->card.tvn[2];
|
||||
else if (norm & V4L2_STD_NTSC)
|
||||
|
|
Loading…
Reference in New Issue