diff options
author | Arun Raghavan <arun@osg.samsung.com> | 2016-12-06 17:42:31 +0530 |
---|---|---|
committer | Arun Raghavan <arun@arunraghavan.net> | 2016-12-08 10:13:39 +0530 |
commit | 1ea9735afbe8fd88aa8020fa0afcaa7c1f780f5b (patch) | |
tree | 9eceef009b2e0ced84b9a06b9eeabc6cc034a301 | |
parent | c3cdae4d6e66d9d04c2a26d3162ef2a64f10aa0c (diff) | |
download | gstreamer-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.c | 7 |
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; } |