codecparsers: h265parser: return invalid profile if len is 0.
authorHe Junyan <junyan.he@intel.com>
Thu, 13 Jan 2022 02:36:24 +0000 (10:36 +0800)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 13 Jan 2022 05:28:17 +0000 (05:28 +0000)
Though the profiles[0] is inited as GST_H265_PROFILE_INVALID in the
gst_h265_profile_tier_level_get_profile(), the profile detecting may
change its content later. So the return of profiles[0] may not be an
invalid profile even the len is 0.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1517>

subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth265parser.c

index d351a39..74fc25c 100644 (file)
@@ -3726,11 +3726,15 @@ gst_h265_profile_tier_level_get_profiles (const GstH265ProfileTierLevel * ptl,
 GstH265Profile
 gst_h265_profile_tier_level_get_profile (const GstH265ProfileTierLevel * ptl)
 {
-  guint len;
+  guint len = 0;
   GstH265Profile profiles[GST_H265_PROFILE_MAX] = { GST_H265_PROFILE_INVALID, };
 
   gst_h265_profile_tier_level_get_profiles (ptl, profiles, &len);
-  return profiles[0];
+
+  if (len > 0)
+    return profiles[0];
+
+  return GST_H265_PROFILE_INVALID;
 }
 
 /**