[Filter/Sub] already loaded case
authorJaeyun <jy1210.jung@samsung.com>
Mon, 7 Oct 2019 03:47:26 +0000 (12:47 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Tue, 8 Oct 2019 02:30:29 +0000 (11:30 +0900)
Check returned value when the nn model file is already loaded.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
ext/nnstreamer/tensor_filter/tensor_filter_caffe2.c
ext/nnstreamer/tensor_filter/tensor_filter_pytorch.c
ext/nnstreamer/tensor_filter/tensor_filter_tensorflow.c
ext/nnstreamer/tensor_filter/tensor_filter_tensorflow_lite.c
gst/nnstreamer/nnstreamer_plugin_api_filter.h
gst/nnstreamer/tensor_filter/tensor_filter_common.c

index 5ad158b..76c8f52 100644 (file)
@@ -109,7 +109,7 @@ static int
 caffe2_open (const GstTensorFilterProperties * prop, void **private_data)
 {
   int ret = caffe2_loadModelFile (prop, private_data);
-  g_assert (ret == 0);       /** This must be called only once */
+  g_assert (ret >= 0);       /** This must be called only once */
   return ret;
 }
 
index b544c75..b44fd4d 100644 (file)
@@ -109,7 +109,7 @@ static gint
 torch_open (const GstTensorFilterProperties * prop, void **private_data)
 {
   gint ret = torch_loadModelFile (prop, private_data);
-  g_assert (ret == 0);       /** This must be called only once */
+  g_assert (ret >= 0);       /** This must be called only once */
   return ret;
 }
 
index fe82b7a..74ae829 100644 (file)
@@ -105,7 +105,7 @@ static int
 tf_open (const GstTensorFilterProperties * prop, void **private_data)
 {
   int retval = tf_loadModelFile (prop, private_data);
-  g_assert (retval == 0);       /** This must be called only once */
+  g_assert (retval >= 0);       /** This must be called only once */
   return retval;
 }
 
index 01e5eff..b250ec0 100644 (file)
@@ -128,7 +128,7 @@ static int
 tflite_open (const GstTensorFilterProperties * prop, void **private_data)
 {
   int ret = tflite_loadModelFile (prop, private_data);
-  g_assert (ret == 0);       /** This must be called only once */
+  g_assert (ret >= 0);       /** This must be called only once */
   return ret;
 }
 
index 234cd5c..60a4e74 100644 (file)
@@ -100,7 +100,7 @@ typedef struct _GstTensorFilterFramework
        * @param[in] prop read-only property values
        * @param[in/out] private_data A subplugin may save its internal private data here. The subplugin is responsible for alloc/free of this pointer.
        * @param[out] info structure of tensor info (return value)
-       * @return the size of input tensors
+       * @return 0 if OK. non-zero if error.
        */
 
   int (*getOutputDimension) (const GstTensorFilterProperties * prop,
@@ -112,7 +112,7 @@ typedef struct _GstTensorFilterFramework
        * @param[in] prop read-only property values
        * @param[in/out] private_data A subplugin may save its internal private data here. The subplugin is responsible for alloc/free of this pointer.
        * @param[out] info structure of tensor info (return value)
-       * @return the size of output tensors
+       * @return 0 if OK. non-zero if error.
        */
 
   int (*setInputDimension) (const GstTensorFilterProperties * prop,
index 99d082a..a9e7c45 100644 (file)
@@ -726,7 +726,8 @@ gst_tensor_filter_common_open_fw (GstTensorFilterPrivate * priv)
 {
   if (!priv->prop.fw_opened && priv->fw) {
     if (priv->fw->open) {
-      if (priv->fw->open (&priv->prop, &priv->privateData) == 0)
+      /* 0 if successfully loaded. 1 if skipped (already loaded). */
+      if (priv->fw->open (&priv->prop, &priv->privateData) >= 0)
         priv->prop.fw_opened = TRUE;
     } else {
       priv->prop.fw_opened = TRUE;