mv_roi_tracker: Adds feature check
authorHyunsoo Park <hance.park@samsung.com>
Tue, 14 Jun 2022 07:17:48 +0000 (16:17 +0900)
committerInki Dae <inki.dae@samsung.com>
Wed, 20 Jul 2022 05:16:57 +0000 (14:16 +0900)
[Issue type] feature check

Feature key patch is below.
https://review.tizen.org/gerrit/#/c/platform/adaptation/unified-model-config/+/276303/

Change-Id: I736837b097d021f77a3dde6e5995ea9bd137f3c2
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
include/mv_private.h
mv_common/src/mv_private.c
mv_roi_tracker/roi_tracker/src/mv_roi_tracker.c

index aace8f09982c417d2fa1c7d9db7d66d0ffb01508..3a2c329268676a30fe75a943425fad7430ab0aeb 100644 (file)
@@ -77,7 +77,7 @@ bool __mv_image_check_system_info_feature_supported();
 bool __mv_inference_check_system_info_feature_supported();
 bool __mv_inference_image_check_system_info_feature_supported();
 bool __mv_inference_face_check_system_info_feature_supported();
-
+bool _mv_roi_tracking_check_system_info_feature_supported();
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
index 29ab40638234f40b1119e383ae1a9f93a09e6fea..707ec4e83594a752159384d686dde7b76043d32d 100644 (file)
  */
 
 #include <system_info.h>
-
+#include <glib.h>
 #include "mv_private.h"
 
+#define VISION_FEATURE_ROI_TRACKING "http://tizen.org/feature/vision.roi_tracking"
+
+static gpointer __get_system_info_feature_once(gpointer data)
+{
+       bool supported = false;
+       gchar *feature = (gchar *)data;
+
+       if (system_info_get_platform_bool(feature, &supported) != SYSTEM_INFO_ERROR_NONE)
+               LOGE("SYSTEM_INFO_ERROR: %s", feature);
+
+       return (gpointer)supported;
+}
+
 bool __mv_check_system_info_feature_supported()
 {
        bool isBarcodeDetectionSupported = false;
@@ -259,3 +272,13 @@ bool __mv_inference_face_check_system_info_feature_supported()
 
        return isInferenceFaceSupported;
 }
+
+bool __mv_roi_tracking_check_system_info_feature_supported()
+{
+       static GOnce once = G_ONCE_INIT;
+       bool supported = (bool)g_once(&once, __get_system_info_feature_once, VISION_FEATURE_ROI_TRACKING);
+
+       LOGI("Feature[%s] : %d", VISION_FEATURE_ROI_TRACKING, supported);
+
+       return supported;
+}
\ No newline at end of file
index e0413c6f58f3583d445c32cc0972ef9831fa95ac..0eff2b95c245167303fc7fdc16c9b82094da0ead 100644 (file)
@@ -21,7 +21,7 @@
 int mv_roi_tracker_create(mv_roi_tracker_h *handle)
 {
        MEDIA_VISION_SUPPORT_CHECK(
-               __mv_inference_face_check_system_info_feature_supported());
+               __mv_roi_tracking_check_system_info_feature_supported());
 
        MEDIA_VISION_NULL_ARG_CHECK(handle);
 
@@ -37,7 +37,7 @@ int mv_roi_tracker_create(mv_roi_tracker_h *handle)
 int mv_roi_tracker_destroy(mv_roi_tracker_h handle)
 {
        MEDIA_VISION_SUPPORT_CHECK(
-               __mv_inference_face_check_system_info_feature_supported());
+               __mv_roi_tracking_check_system_info_feature_supported());
 
        MEDIA_VISION_INSTANCE_CHECK(handle);
 
@@ -53,7 +53,7 @@ int mv_roi_tracker_destroy(mv_roi_tracker_h handle)
 int mv_roi_tracker_set_coordinate(mv_roi_tracker_h handle, int x, int y, int width, int height)
 {
        MEDIA_VISION_SUPPORT_CHECK(
-               __mv_inference_face_check_system_info_feature_supported());
+               __mv_roi_tracking_check_system_info_feature_supported());
 
        MEDIA_VISION_INSTANCE_CHECK(handle);
 
@@ -69,7 +69,7 @@ int mv_roi_tracker_set_coordinate(mv_roi_tracker_h handle, int x, int y, int wid
 int mv_roi_tracker_set_tracker_type(mv_roi_tracker_h handle, mv_roi_tracker_type_e type)
 {
        MEDIA_VISION_SUPPORT_CHECK(
-               __mv_inference_face_check_system_info_feature_supported());
+               __mv_roi_tracking_check_system_info_feature_supported());
 
        MEDIA_VISION_INSTANCE_CHECK(handle);
 
@@ -86,7 +86,7 @@ int mv_roi_tracker_perform(mv_roi_tracker_h handle, mv_source_h source,
                                                                  mv_roi_tracker_result_s *result)
 {
        MEDIA_VISION_SUPPORT_CHECK(
-               __mv_inference_face_check_system_info_feature_supported());
+               __mv_roi_tracking_check_system_info_feature_supported());
 
        MEDIA_VISION_INSTANCE_CHECK(handle);
        MEDIA_VISION_INSTANCE_CHECK(source);