[Bug 735660] v4l2: fix new v4l2 code not working with certain devices (regression)
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri Aug 29 13:53:11 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=735660
GStreamer | gst-plugins-good | 1.4.1
Nicolas Dufresne <nicolas.dufresne> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #284799|none |committed
status| |
--- Comment #18 from Nicolas Dufresne <nicolas.dufresne at collabora.co.uk> 2014-08-29 20:53:08 UTC ---
(From update of attachment 284799)
commit 355c12bec3b58cb8110eb8b45e9bb4998218b94d
Author: Hans de Goede <hdegoede at redhat.com>
Date: Fri Aug 29 12:01:27 2014 +0200
v4l2: get_nearest_size: Fix "Unsupported field type" errors
Most V4L2 ioctls like try_fmt will adjust input fields to match what the
hardware can do rather then returning -EINVAL. As is docmented here:
http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-g-fmt.html
EINVAL is only returned if the buffer type field is invalid or not
supported.
So upon requesting V4L2_FIELD_NONE devices which can only do interlaced
mode will change the field value to e.g. V4L2_FIELD_BOTTOM as only
returning
half the lines is the closest they can do to progressive modes.
In essence this means that we've failed to get a (usable) progessive mode
and should fall back to interlaced mode.
This commit adds a check for having gotten a usable field value after the
first
try_fmt, to force fallback to interlaced mode even if the try_fmt
succeeded,
thereby fixing get_nearest_size failing on these devices.
https://bugzilla.gnome.org/show_bug.cgi?id=735660
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list