From 524b438ab87ec8131070594ea7ff5b101d8ba4a6 Mon Sep 17 00:00:00 2001 From: Sangchul Lee Date: Mon, 1 Jun 2020 10:07:44 +0900 Subject: [PATCH] Fix return type of ms_rtp_node_prepare() [Version] 0.1.48 [Issue Type] Improvement Change-Id: I1675c66f243f851b3b593ce34b8135d9e69052cd Signed-off-by: Sangchul Lee --- include/media_streamer_node.h | 2 +- packaging/capi-media-streamer.spec | 2 +- src/media_streamer_gst.c | 2 +- src/media_streamer_node.c | 37 ++++++++++++++++++++++++------------- 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/include/media_streamer_node.h b/include/media_streamer_node.h index 02d4a18..59e6c6a 100644 --- a/include/media_streamer_node.h +++ b/include/media_streamer_node.h @@ -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. diff --git a/packaging/capi-media-streamer.spec b/packaging/capi-media-streamer.spec index 780957f..7510d93 100644 --- a/packaging/capi-media-streamer.spec +++ b/packaging/capi-media-streamer.spec @@ -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 diff --git a/src/media_streamer_gst.c b/src/media_streamer_gst.c index fb8f8bb..b925b23 100644 --- a/src/media_streamer_gst.c +++ b/src/media_streamer_gst.c @@ -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) diff --git a/src/media_streamer_node.c b/src/media_streamer_node.c index 47c05e9..d0eaba4 100644 --- a/src/media_streamer_node.c +++ b/src/media_streamer_node.c @@ -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 -- 2.7.4