Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.1:Update
gstreamer-0_10-plugins-good
gst-non-fatal-query-webcam-attr.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gst-non-fatal-query-webcam-attr.patch of Package gstreamer-0_10-plugins-good
From ef37bb48bc6093c218271cf49ff063f57b6f0207 Mon Sep 17 00:00:00 2001 From: Tuukka Pasanen <tuukka.pasanen@ilmi.fi> Date: Thu, 16 Feb 2012 12:59:10 +0000 Subject: [PATCH 1/2] v4l2src: fix for webcamstudio vloopback Because vlooback emits 25 - ENOTTY and no EINVAL v4l2src thought it can't handle this and does not work. https://bugzilla.gnome.org/show_bug.cgi?id=669455 --- sys/v4l2/v4l2_calls.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c index 3808d8e..c8af0a6 100644 --- a/sys/v4l2/v4l2_calls.c +++ b/sys/v4l2/v4l2_calls.c @@ -253,7 +253,7 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object) control.id = n; if (v4l2_ioctl (v4l2object->video_fd, VIDIOC_QUERYCTRL, &control) < 0) { - if (errno == EINVAL) { + if (errno == EINVAL || errno == ENOTTY) { if (n < V4L2_CID_PRIVATE_BASE) { GST_DEBUG_OBJECT (e, "skipping control %08x", n); /* continue so that we also check private controls */ -- 1.7.7 From c1c858f2733aba9fd8f6120656b0db20a66b6c77 Mon Sep 17 00:00:00 2001 From: Gary Ching-Pang Lin <chingpang@gmail.com> Date: Thu, 16 Feb 2012 17:14:20 +0800 Subject: [PATCH 2/2] v4l2src: failure to query some optional controls is not a fatal error Don't post a (fatal) error message on the bus just because we failed to query some control. Fixes issue with built-in Suyin Corp webcam for HP notebook (usbid 064e:e28a) on OpenSuse 12.1, where querying red/blue balance fails. https://bugzilla.gnome.org/show_bug.cgi?id=670197 --- sys/v4l2/v4l2_calls.c | 11 ++++------- 1 files changed, 4 insertions(+), 7 deletions(-) diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c index c8af0a6..309bfb6 100644 --- a/sys/v4l2/v4l2_calls.c +++ b/sys/v4l2/v4l2_calls.c @@ -253,7 +253,7 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object) control.id = n; if (v4l2_ioctl (v4l2object->video_fd, VIDIOC_QUERYCTRL, &control) < 0) { - if (errno == EINVAL || errno == ENOTTY) { + if (errno == EINVAL || errno == ENOTTY || errno == EIO) { if (n < V4L2_CID_PRIVATE_BASE) { GST_DEBUG_OBJECT (e, "skipping control %08x", n); /* continue so that we also check private controls */ @@ -263,12 +263,9 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object) break; } } else { - GST_ELEMENT_ERROR (e, RESOURCE, SETTINGS, - (_("Failed getting controls attributes on device '%s'."), - v4l2object->videodev), - ("Failed querying control %d on device '%s'. (%d - %s)", - n, v4l2object->videodev, errno, strerror (errno))); - return FALSE; + GST_WARNING_OBJECT (e, "Failed querying control %d on device '%s'. " + "(%d - %s)", n, v4l2object->videodev, errno, strerror (errno)); + continue; } } if (control.flags & V4L2_CTRL_FLAG_DISABLED) { -- 1.7.7
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor