diff --git a/girs/GstAnalytics-1.0.gir b/girs/GstAnalytics-1.0.gir
index 6e8d12adbb..9c9ebf6b03 100644
--- a/girs/GstAnalytics-1.0.gir
+++ b/girs/GstAnalytics-1.0.gir
@@ -75,7 +75,7 @@ Get number of classes
Object class index
-
+
@@ -93,7 +93,7 @@ Get number of classes
index of the class
Get quark of the class at @index
-
+
diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c b/subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c
index e126408841..410902af2f 100644
--- a/subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c
+++ b/subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c
@@ -78,10 +78,9 @@ gst_analytics_cls_mtd_get_mtd_type (void)
* Since: 1.24
*/
gfloat
-gst_analytics_cls_mtd_get_level (GstAnalyticsClsMtd * handle, gint index)
+gst_analytics_cls_mtd_get_level (GstAnalyticsClsMtd * handle, gsize index)
{
g_return_val_if_fail (handle, -1.0);
- g_return_val_if_fail (index >= 0, -1.0);
g_return_val_if_fail (handle->meta != NULL, -1.0);
GstAnalyticsClsMtdData *cls_mtd_data;
cls_mtd_data = gst_analytics_relation_meta_get_mtd_data (handle->meta,
@@ -148,13 +147,15 @@ gst_analytics_cls_mtd_get_length (GstAnalyticsClsMtd * handle)
* Since: 1.24
*/
GQuark
-gst_analytics_cls_mtd_get_quark (GstAnalyticsClsMtd * handle, gint index)
+gst_analytics_cls_mtd_get_quark (GstAnalyticsClsMtd * handle, gsize index)
{
GstAnalyticsClsMtdData *cls_mtd_data;
g_return_val_if_fail (handle, 0);
cls_mtd_data = gst_analytics_relation_meta_get_mtd_data (handle->meta,
handle->id);
g_return_val_if_fail (cls_mtd_data != NULL, 0);
+ g_return_val_if_fail (cls_mtd_data->length > index, 0);
+
return cls_mtd_data->confidence_levels_and_classes[index].class;
}
diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h b/subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h
index 172b93b6b9..1665df9e4a 100644
--- a/subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h
+++ b/subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h
@@ -46,7 +46,7 @@ GstAnalyticsMtdType gst_analytics_cls_mtd_get_mtd_type (void);
GST_ANALYTICS_META_API
gfloat gst_analytics_cls_mtd_get_level (GstAnalyticsClsMtd * handle,
- gint index);
+ gsize index);
GST_ANALYTICS_META_API
gint gst_analytics_cls_mtd_get_index_by_quark (GstAnalyticsClsMtd * handle,
@@ -56,7 +56,8 @@ GST_ANALYTICS_META_API
gsize gst_analytics_cls_mtd_get_length (GstAnalyticsClsMtd * handle);
GST_ANALYTICS_META_API
-GQuark gst_analytics_cls_mtd_get_quark (GstAnalyticsClsMtd * handle, gint index);
+GQuark gst_analytics_cls_mtd_get_quark (GstAnalyticsClsMtd * handle,
+ gsize index);
GST_ANALYTICS_META_API
gboolean