[C-Api] user-data for sink/src callback
authorJaeyun Jung <jy1210.jung@samsung.com>
Tue, 6 Feb 2024 08:32:24 +0000 (17:32 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Tue, 13 Feb 2024 08:37:10 +0000 (17:37 +0900)
Separate user-data for appsrc/sink callback.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
c/src/ml-api-inference-pipeline-internal.h
c/src/ml-api-inference-pipeline.c

index 6b07862..9b0f8a4 100644 (file)
@@ -163,8 +163,9 @@ typedef struct _ml_pipeline_element {
  */
 typedef struct {
   ml_pipeline_sink_cb sink_cb;
+  void *sink_pdata;
   ml_pipeline_src_callbacks_s src_cb;
-  void *pdata;
+  void *src_pdata;
 } callback_info_s;
 
 /**
index 8a02fb6..b806777 100644 (file)
@@ -424,7 +424,7 @@ cb_sink_event (GstElement * e, GstBuffer * b, gpointer user_data)
 
     callback = sink->callback_info->sink_cb;
     if (callback)
-      callback (_data, out_info, sink->callback_info->pdata);
+      callback (_data, out_info, sink->callback_info->sink_pdata);
 
     /** @todo Measure time. Warn if it takes long. Kill if it takes too long. */
   }
@@ -1463,7 +1463,7 @@ ml_pipeline_sink_register (ml_pipeline_h pipe, const char *sink_name,
   sink->pipe = p;
   sink->element = elem;
   sink->callback_info->sink_cb = cb;
-  sink->callback_info->pdata = user_data;
+  sink->callback_info->sink_pdata = user_data;
   *h = sink;
 
   g_mutex_lock (&elem->lock);
@@ -1782,7 +1782,7 @@ get_app_src_callback (ml_pipeline_common_elem * src_h, void **data)
   g_mutex_lock (&elem->lock);
   if (src_h->callback_info) {
     src_cb = &src_h->callback_info->src_cb;
-    *data = src_h->callback_info->pdata;
+    *data = src_h->callback_info->src_pdata;
   }
   g_mutex_unlock (&elem->lock);
 
@@ -1875,7 +1875,7 @@ ml_pipeline_src_set_event_cb (ml_pipeline_src_h src_handle,
   }
 
   src->callback_info->src_cb = *cb;
-  src->callback_info->pdata = user_data;
+  src->callback_info->src_pdata = user_data;
 
   appsrc_cb.need_data = _pipe_src_cb_need_data;
   appsrc_cb.enough_data = _pipe_src_cb_enough_data;