From 8122f623f60c3388a77a24dc4ca5ffda1411acc4 Mon Sep 17 00:00:00 2001 From: Daniel Morin Date: Mon, 29 Jan 2024 22:26:09 -0500 Subject: [PATCH] analytics: Change indexes type from i32 -> gsize - gst_analytics_cls_mtd_get_length() return a gsize, this type dicated index type for gst_analytics_cls_mtd_get_quark() and gst_analytics_cls_mtd_get_level(). - Minor cleanup/improvement on index validation. Part-of: --- girs/GstAnalytics-1.0.gir | 4 ++-- .../gst-libs/gst/analytics/gstanalyticsclassificationmtd.c | 7 ++++--- .../gst-libs/gst/analytics/gstanalyticsclassificationmtd.h | 5 +++-- 3 files changed, 9 insertions(+), 7 deletions(-) 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