From: Mark Nauwelaerts Date: Thu, 3 Feb 2011 22:42:59 +0000 (+0100) Subject: v4l2: fix interlaced set_format configuration X-Git-Tag: RELEASE-0.10.29~640 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6b86b56abd8a28b9e94cee679e3d86367a9a0ab3;p=platform%2Fupstream%2Fgst-plugins-good.git v4l2: fix interlaced set_format configuration Commit 6c8268dbfd5c88fac28c882ef2e4598a6522e2d6 broke recording from interlaced v4l2 source (e.g. typical tv capture card) since V4L2_FIELD_SEQ_TB (with fields stored separately) does not map to currently defined interlaced format (fields stored interleaved). Besides this mismatch, hardware might quite likely not support or appreciate this field value, since querying supported formats mapped _INTERLACED field formats to interlaced=true caps (so the latter should not be mapped to field value that is not known to be supported). --- diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c index 7e15489..5c9022c 100644 --- a/sys/v4l2/gstv4l2object.c +++ b/sys/v4l2/gstv4l2object.c @@ -2019,7 +2019,7 @@ gst_v4l2_object_set_format (GstV4l2Object * v4l2object, guint32 pixelformat, /* ideally we would differentiate between types of interlaced video * but there is not sufficient information in the caps.. */ - field = V4L2_FIELD_SEQ_TB; + field = V4L2_FIELD_INTERLACED; } else { GST_DEBUG_OBJECT (v4l2object->element, "progressive video"); field = V4L2_FIELD_NONE;