gstv4l2tuner: return NULL if no norm set

If the video4linux device supports norms but has no norm set, norm is
returned as an uninitialized variable after the ioctl call, leading to
gst_v4l2_tuner_get_norm_by_std_id() returning a random norm from the
supported norms. Catch this case and instead return NULL to indicate
that no norm is setup.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1758>
This commit is contained in:
Rouven Czerwinski 2022-02-02 12:49:29 +01:00 committed by GStreamer Marge Bot
parent dbd60f9cbf
commit 5911ee26a5

View file

@ -181,7 +181,8 @@ gst_v4l2_tuner_get_norm (GstV4l2Object * v4l2object)
/* assert that we're opened and that we're using a known item */
g_return_val_if_fail (GST_V4L2_IS_OPEN (v4l2object), NULL);
gst_v4l2_get_norm (v4l2object, &norm);
if (!gst_v4l2_get_norm (v4l2object, &norm))
return NULL;
return gst_v4l2_tuner_get_norm_by_std_id (v4l2object, norm);
}