mirror of https://github.com/FFmpeg/FFmpeg.git
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.verkuil@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.verkuil@cisco.com> >> Reviewed-by: Sakari Ailus <sakari.ailus@iki.fi> >> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>pull/81/head
parent
fb2de3c4d1
commit
44e95a017c
1 changed files with 1 additions and 1 deletions
Loading…
Reference in new issue