From 216ee520900da43f1798d910e8b28266a1087693 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Mon, 28 Nov 2016 16:53:10 +0100 Subject: [PATCH] video-info: Properly initialize/set extra fields The flags and field order weren't properly initialized in the gst_video_info_init(). Furthermore in gst_video_info_from_caps() we might set unitiliazed values previously, this only sets them if valid. --- gst-libs/gst/video/video-info.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gst-libs/gst/video/video-info.c b/gst-libs/gst/video/video-info.c index 9227b9f9c1..a2cca7ee67 100644 --- a/gst-libs/gst/video/video-info.c +++ b/gst-libs/gst/video/video-info.c @@ -130,6 +130,8 @@ gst_video_info_init (GstVideoInfo * info) info->par_n = 1; info->par_d = 1; GST_VIDEO_INFO_MULTIVIEW_MODE (info) = GST_VIDEO_MULTIVIEW_MODE_NONE; + GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) = GST_VIDEO_MULTIVIEW_FLAGS_NONE; + GST_VIDEO_INFO_FIELD_ORDER (info) = GST_VIDEO_FIELD_ORDER_UNKNOWN; } #define MAKE_COLORIMETRY(r,m,t,p) { \ @@ -428,9 +430,9 @@ gst_video_info_from_caps (GstVideoInfo * info, const GstCaps * caps) else GST_VIDEO_INFO_MULTIVIEW_MODE (info) = GST_VIDEO_MULTIVIEW_MODE_NONE; - gst_structure_get_flagset (structure, "multiview-flags", &multiview_flags, - NULL); - GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) = multiview_flags; + if (gst_structure_get_flagset (structure, "multiview-flags", + &multiview_flags, NULL)) + GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) = multiview_flags; if (!gst_structure_get_int (structure, "views", &info->views)) info->views = 1;