v4l2: fix interlaced set_format configuration

Commit 6c8268dbfd 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).
This commit is contained in:
Mark Nauwelaerts 2011-02-03 23:42:59 +01:00
parent 61382aad28
commit 6b86b56abd

View file

@ -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;