On Mon, Aug 18, 2014 at 10:18:35AM +0800, Andre Wolokita wrote: > As of September 14 2012, v4l_enumstd() will return ENODATA > when a device's std field is set to 0. That is, the device > does not have a standard format. In order to properly > handle this case, v4l2_set_parameters should catch the > ENODATA code and break instead of failing. > > Below is the v4l2-core commit describing this change. > > >>commit a5338190efc7cfa8c99a6856342a77d21c9a05cf > >>Author: Hans Verkuil <hans.verk...@cisco.com> > >>Date: Fri Sep 14 06:45:43 2012 -0300 > >> > >> [media] v4l2-core: tvnorms may be 0 for a given input, handle > that case > >> > >> Currently the core code looks at tvnorms to see whether ENUMSTD > >> or G_PARM should be enabled. This is not a good check for drivers > >> that support the STD API on one input and the DV Timings API > on another. > >> In that case tvnorms may be 0. > >> Instead check whether s_std is present (for ENUMSTD) or > whether g_std or > >> current_norm is present for g_parm. > >> Also, in the enumstd core function return ENODATA if tvnorms is 0, > >> because in that case the current input does not support the STD API > >> and ENUMSTD should return ENODATA for that. > >> > >> Signed-off-by: Hans Verkuil <hans.verk...@cisco.com> > >> Reviewed-by: Sakari Ailus <sakari.ai...@iki.fi> > >> Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com> > > Signed-off-by: Andre Wolokita <andre.wolok...@analog.com > --- > libavdevice/v4l2.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c > index 64df0c7..fc87d6c 100644 > --- a/libavdevice/v4l2.c > +++ b/libavdevice/v4l2.c > @@ -688,7 +688,7 @@ static int v4l2_set_parameters(AVFormatContext *s1) > standard.index = i; > if (v4l2_ioctl(s->fd, VIDIOC_ENUMSTD, &standard) < 0) { > ret = AVERROR(errno); > - if (ret == AVERROR(EINVAL)) { > + if (ret == AVERROR(EINVAL) || ret == AVERROR(ENODATA) {
the () dont match, this will not compile [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Why not whip the teacher when the pupil misbehaves? -- Diogenes of Sinope
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel