[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