media_streamer_node: Return missing GstFlowReturn value at the end of new-sample... 11/256111/1
authorSangchul Lee <sc11.lee@samsung.com>
Mon, 29 Mar 2021 11:13:19 +0000 (20:13 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Mon, 29 Mar 2021 11:30:50 +0000 (20:30 +0900)
Log are added and function name is renamed.

[Version] 0.1.136
[Issue type] Bug fix

Change-Id: Ifccbc0a7b35b928100ff75966214bc6cec257223
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
packaging/capi-media-streamer.spec
src/media_streamer_node.c

index bc5b87e..8c28c9a 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-streamer
 Summary:    A Media Streamer API
-Version:    0.1.135
+Version:    0.1.136
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 585537a..57e455b 100644 (file)
@@ -1149,25 +1149,31 @@ int ms_src_node_create(media_streamer_node_s *node)
 }
 
 /* The appsink has received a buffer */
-static void __ms_sink_new_buffer_cb(GstElement *sink, gpointer *data)
+static GstFlowReturn __ms_sink_new_sample_cb(GstElement *sink, gpointer *data)
 {
-       media_streamer_node_s *ms_sink = (media_streamer_node_s *) data;
-       media_streamer_sink_callbacks_s *sink_callbacks = NULL;
-       media_streamer_sink_data_ready_cb data_ready_cb = NULL;
+       media_streamer_node_s *ms_sink = (media_streamer_node_s *)data;
+       media_streamer_sink_callbacks_s *sink_callbacks;
+       media_streamer_sink_data_ready_cb data_ready_cb;
 
-       ms_debug_fenter();
+       ms_retvm_if(ms_sink == NULL, GST_FLOW_ERROR, "data is NULL");
 
-       ms_retm_if(ms_sink == NULL, "data is NULL");
+       if (!ms_sink->callbacks_structure) {
+               ms_debug("callbacks_structure is NULL");
+               return GST_FLOW_OK;
+       }
 
-       if (ms_sink->callbacks_structure != NULL) {
-               sink_callbacks = (media_streamer_sink_callbacks_s *) ms_sink->callbacks_structure;
-               data_ready_cb = (media_streamer_sink_data_ready_cb) sink_callbacks->data_ready_cb.callback;
+       sink_callbacks = (media_streamer_sink_callbacks_s *)ms_sink->callbacks_structure;
+       data_ready_cb = (media_streamer_sink_data_ready_cb)sink_callbacks->data_ready_cb.callback;
 
-               if (data_ready_cb)
-                       data_ready_cb((media_streamer_node_h) ms_sink, sink_callbacks->data_ready_cb.user_data);
+       if (data_ready_cb) {
+               ms_debug("=====> invoke data ready callback(%p)", data_ready_cb);
+               data_ready_cb((media_streamer_node_h)ms_sink, sink_callbacks->data_ready_cb.user_data);
+               ms_debug("<===== end of the callback");
+       } else {
+               ms_debug("data ready callback is NULL");
        }
 
-       ms_debug_fleave();
+       return GST_FLOW_OK;
 }
 
 //LCOV_EXCL_START
@@ -1244,7 +1250,7 @@ int ms_sink_node_create(media_streamer_node_s *node)
                node->gst_element = ms_element_create(plugin_name, NULL);
                if (node->gst_element) {
                        g_object_set(G_OBJECT(node->gst_element), "emit-signals", TRUE, NULL);
-                       ms_signal_create(&node->sig_list, node->gst_element, "new-sample", G_CALLBACK(__ms_sink_new_buffer_cb), node);
+                       ms_signal_create(&node->sig_list, node->gst_element, "new-sample", G_CALLBACK(__ms_sink_new_sample_cb), node);
                        ms_signal_create(&node->sig_list, node->gst_element, "eos", G_CALLBACK(sink_eos), node);
                }
                break;