[Mux/Merge] max pad limit
authorJaeyun <jy1210.jung@samsung.com>
Thu, 18 Oct 2018 11:26:11 +0000 (20:26 +0900)
committerMyungJoo Ham <myungjoo.ham@gmail.com>
Fri, 19 Oct 2018 02:22:43 +0000 (11:22 +0900)
add condition to check max number of sink pad in tensor-mux and tensor-merge

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
gst/tensor_merge/gsttensormerge.c
gst/tensor_mux/gsttensormux.c

index 4c14183..51b91d8 100644 (file)
@@ -257,6 +257,12 @@ gst_tensor_merge_request_new_pad (GstElement * element, GstPadTemplate * templ,
 
   tensor_merge = GST_TENSOR_MERGE (element);
 
+  if (tensor_merge->tensors_config.info.num_tensors >= NNS_TENSOR_SIZE_LIMIT) {
+    err_print ("supposed max size is " NNS_TENSOR_SIZE_LIMIT_STR);
+    g_assert (0);
+    return NULL;
+  }
+
   name =
       g_strdup_printf ("sink_%u",
       tensor_merge->tensors_config.info.num_tensors);
@@ -465,7 +471,7 @@ gst_tensor_merge_collect_buffer (GstTensorMerge * tensor_merge,
       } else {
         pad->pts_timestamp = GST_CLOCK_TIME_NONE;
       }
-      if (buf && GST_BUFFER_DTS_IS_VALID (buf)) {
+      if (GST_BUFFER_DTS_IS_VALID (buf)) {
         if (data->segment.format == GST_FORMAT_TIME)
           pad->dts_timestamp =
               gst_segment_to_running_time (&data->segment, GST_FORMAT_TIME,
index e696853..4be8e5b 100644 (file)
@@ -211,6 +211,12 @@ gst_tensor_mux_request_new_pad (GstElement * element, GstPadTemplate * templ,
 
   tensor_mux = GST_TENSOR_MUX (element);
 
+  if (tensor_mux->tensors_config.info.num_tensors >= NNS_TENSOR_SIZE_LIMIT) {
+    err_print ("supposed max size is " NNS_TENSOR_SIZE_LIMIT_STR);
+    g_assert (0);
+    return NULL;
+  }
+
   name =
       g_strdup_printf ("sink_%u", tensor_mux->tensors_config.info.num_tensors);
   newpad = gst_pad_new_from_template (templ, name);