Fixed parentheses mismatch.
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)) {
tpf = &streamparm.parm.capture.timeperframe;
break;
}
--
1.7.9.5
On 08/18/2014 10:29 AM, Michael Niedermayer wrote:
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
[...]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel