summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Raghavan <arun@osg.samsung.com>2016-12-06 17:42:31 +0530
committerArun Raghavan <arun@arunraghavan.net>2016-12-08 10:13:39 +0530
commit1ea9735afbe8fd88aa8020fa0afcaa7c1f780f5b (patch)
tree9eceef009b2e0ced84b9a06b9eeabc6cc034a301
parentc3cdae4d6e66d9d04c2a26d3162ef2a64f10aa0c (diff)
downloadgstreamer-plugins-good-1ea9735afbe8fd88aa8020fa0afcaa7c1f780f5b.tar.gz
v4l2object: Don't set empty interlace-mode list
If for some reason we fail to probe formats (all try_fmt calls fail, for example), this is not a critical error, but we end up with an empty list of interlace modes. This causes all subsequent negotiation to fail. This patch fixes interlace-mode setting to be skipped if we failed to detect any. https://bugzilla.gnome.org/show_bug.cgi?id=775702
-rw-r--r--sys/v4l2/gstv4l2object.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c
index fb87744a1..3a24a0eb0 100644
--- a/sys/v4l2/gstv4l2object.c
+++ b/sys/v4l2/gstv4l2object.c
@@ -2172,7 +2172,12 @@ gst_v4l2_object_add_interlace_mode (GstV4l2Object * v4l2object,
}
gst_v4l2src_value_simplify (&interlace_formats);
- gst_structure_take_value (s, "interlace-mode", &interlace_formats);
+
+ if (gst_value_list_get_size (&interlace_formats) > 0)
+ gst_structure_take_value (s, "interlace-mode", &interlace_formats);
+ else
+ GST_WARNING_OBJECT (v4l2object, "Failed to determine interlace mode");
+
return;
}