Fix return type of ms_rtp_node_prepare() 25/234925/1
authorSangchul Lee <sc11.lee@samsung.com>
Mon, 1 Jun 2020 01:07:44 +0000 (10:07 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Mon, 1 Jun 2020 01:08:23 +0000 (10:08 +0900)
[Version] 0.1.48
[Issue Type] Improvement

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

index 02d4a18..59e6c6a 100644 (file)
@@ -66,7 +66,7 @@ int ms_adaptive_sink_node_prepare(media_streamer_s *ms_streamer, media_streamer_
 /**
  * @brief Prepares rtp node.
  */
-gboolean ms_rtp_node_prepare(media_streamer_node_s *node);
+int ms_rtp_node_prepare(media_streamer_node_s *node);
 
 /**
  * @brief Prepares demux node.
index 780957f..7510d93 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-streamer
 Summary:    A Media Streamer API
-Version:    0.1.47
+Version:    0.1.48
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index fb8f8bb..b925b23 100644 (file)
@@ -2192,7 +2192,7 @@ int ms_pipeline_prepare(media_streamer_s *ms_streamer)
        adaptive_sink = (media_streamer_node_s *)g_hash_table_lookup(ms_streamer->nodes_table, "adaptive_sink");
 
        if (rtp) {
-               ret = ms_rtp_node_prepare(rtp) ? MEDIA_STREAMER_ERROR_NONE : MEDIA_STREAMER_ERROR_INVALID_PARAMETER;
+               ret = ms_rtp_node_prepare(rtp);
        } else if (demux) {
                ret = ms_demux_node_prepare(ms_streamer, demux);
                if (MEDIA_STREAMER_ERROR_NONE != ret)
index 47c05e9..d0eaba4 100644 (file)
@@ -1192,10 +1192,9 @@ _DONE:
 }
 
 //LCOV_EXCL_START
-gboolean ms_rtp_node_prepare(media_streamer_node_s *node)
+int ms_rtp_node_prepare(media_streamer_node_s *node)
 {
        GstElement *rtpbin = NULL;
-       gboolean ret = TRUE;
        GstElement *rtp_el = NULL;
        GstElement *rtcp_el = NULL;
        GValue *val = NULL;
@@ -1208,14 +1207,14 @@ gboolean ms_rtp_node_prepare(media_streamer_node_s *node)
 
        ms_debug_fenter();
 
-       ms_retvm_if(!node, MEDIA_STREAMER_ERROR_INVALID_OPERATION, "node is NULL");
+       ms_retvm_if(!node, MEDIA_STREAMER_ERROR_INVALID_PARAMETER, "node is NULL");
 
        rtpbin = ms_element_create("rtpbin", "rtpbin");
        ms_retvm_if(!rtpbin, FALSE, "Error: creating elements for rtp container");
 
        if (!ms_bin_add_element(node->gst_element, rtpbin, FALSE)) {
                MS_SAFE_UNREF(rtpbin);
-               return FALSE;
+               return MEDIA_STREAMER_ERROR_INVALID_OPERATION;
        }
 
        ms_signal_create(&node->sig_list, rtpbin, "pad-added", G_CALLBACK(ms_rtpbin_pad_added_cb), node);
@@ -1231,8 +1230,11 @@ gboolean ms_rtp_node_prepare(media_streamer_node_s *node)
                rtcp_el = ms_element_create("udpsrc", MS_RTP_PAD_VIDEO_IN"_rctp");
                ms_bin_add_element(node->gst_element, rtcp_el, FALSE);
 
-               ret = ret && gst_element_link_pads(rtp_el, "src", rtpbin, "recv_rtp_sink_0");
-               ret = ret && gst_element_link_pads(rtcp_el, "src", rtpbin, "recv_rtcp_sink_0");
+               if (!gst_element_link_pads(rtp_el, "src", rtpbin, "recv_rtp_sink_0") ||
+                       !gst_element_link_pads(rtcp_el, "src", rtpbin, "recv_rtcp_sink_0")) {
+                       ms_error("Failed to link pads for rtpbin sink pad 0");
+                       return MEDIA_STREAMER_ERROR_INVALID_OPERATION;
+               }
 
                g_object_set_property(G_OBJECT(rtp_el), MEDIA_STREAMER_PARAM_PORT, val);
                g_object_set(G_OBJECT(rtcp_el), MEDIA_STREAMER_PARAM_PORT, (g_value_get_int(val) + 1), NULL);
@@ -1249,8 +1251,11 @@ gboolean ms_rtp_node_prepare(media_streamer_node_s *node)
                rtcp_el = ms_element_create("udpsrc", MS_RTP_PAD_AUDIO_IN"_rctp");
                ms_bin_add_element(node->gst_element, rtcp_el, FALSE);
 
-               ret = ret && gst_element_link_pads(rtp_el, "src", rtpbin, "recv_rtp_sink_1");
-               ret = ret && gst_element_link_pads(rtcp_el, "src", rtpbin, "recv_rtcp_sink_1");
+               if (!gst_element_link_pads(rtp_el, "src", rtpbin, "recv_rtp_sink_1") ||
+                       !gst_element_link_pads(rtcp_el, "src", rtpbin, "recv_rtcp_sink_1")) {
+                       ms_error("Failed to link pads for rtpbin sink pad 1");
+                       return MEDIA_STREAMER_ERROR_INVALID_OPERATION;
+               }
 
                g_object_set_property(G_OBJECT(rtp_el), MEDIA_STREAMER_PARAM_PORT, val);
                g_object_set(G_OBJECT(rtcp_el), MEDIA_STREAMER_PARAM_PORT, (g_value_get_int(val) + 1), NULL);
@@ -1282,8 +1287,11 @@ gboolean ms_rtp_node_prepare(media_streamer_node_s *node)
                                ms_info(" Capsfilter for [%s] in RTP is set and linked", MS_RTP_PAD_VIDEO_IN);
                }
 
-               ret = ret && gst_element_link_pads(rtpbin, "send_rtp_src_0", rtp_el, "sink");
-               ret = ret && gst_element_link_pads(rtpbin, "send_rtcp_src_0", rtcp_el, "sink");
+               if (!gst_element_link_pads(rtpbin, "send_rtp_src_0", rtp_el, "sink") ||
+                       !gst_element_link_pads(rtpbin, "send_rtcp_src_0", rtcp_el, "sink")) {
+                       ms_error("Failed to link pads for rtpbin src pad 0");
+                       return MEDIA_STREAMER_ERROR_INVALID_OPERATION;
+               }
 
                g_object_set_property(G_OBJECT(rtp_el), MEDIA_STREAMER_PARAM_PORT, val);
                g_object_set(GST_OBJECT(rtp_el), MEDIA_STREAMER_PARAM_HOST, host, NULL);
@@ -1315,8 +1323,11 @@ gboolean ms_rtp_node_prepare(media_streamer_node_s *node)
                                ms_info(" Capsfilter for [%s] in RTP is set and linked", MS_RTP_PAD_AUDIO_IN);
                }
 
-               ret = ret && gst_element_link_pads(rtpbin, "send_rtp_src_1", rtp_el, "sink");
-               ret = ret && gst_element_link_pads(rtpbin, "send_rtcp_src_1", rtcp_el, "sink");
+               if (!gst_element_link_pads(rtpbin, "send_rtp_src_1", rtp_el, "sink") ||
+                       !gst_element_link_pads(rtpbin, "send_rtcp_src_1", rtcp_el, "sink")) {
+                       ms_error("Failed to link pads for rtpbin src pad 1");
+                       return MEDIA_STREAMER_ERROR_INVALID_OPERATION;
+               }
 
                g_object_set_property(G_OBJECT(rtp_el), MEDIA_STREAMER_PARAM_PORT, val);
                g_object_set(GST_OBJECT(rtp_el), MEDIA_STREAMER_PARAM_HOST, host, NULL);
@@ -1330,7 +1341,7 @@ gboolean ms_rtp_node_prepare(media_streamer_node_s *node)
 
        ms_debug_fleave();
 
-       return ret;
+       return MEDIA_STREAMER_ERROR_NONE;
 }
 //LCOV_EXCL_STOP