From: Sangchul Lee Date: Mon, 10 May 2021 09:01:15 +0000 (+0900) Subject: webrtc_private: Add Macro definition for printing caps and apply it X-Git-Tag: submit/tizen/20210729.023123~72 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f92d741f4e9f50d4d974b1b502d0223ca3f55ec8;p=platform%2Fcore%2Fapi%2Fwebrtc.git webrtc_private: Add Macro definition for printing caps and apply it [Version] 0.1.169 [Issue Type] Improvement Change-Id: I82a007e7ea059df648e0c4feecb48e932804293e Signed-off-by: Sangchul Lee --- diff --git a/include/webrtc_private.h b/include/webrtc_private.h index 2c47ca72..101ad594 100644 --- a/include/webrtc_private.h +++ b/include/webrtc_private.h @@ -162,6 +162,15 @@ do { \ #define SAFE_GST_OBJECT_UNREF(src) { if (src) { gst_object_unref(src); src = NULL; } } #define SAFE_STR(str) (str) ? str : "null" +#define PRINT_CAPS(x_caps, x_prefix) \ +do { \ + if (!(x_caps)) \ + break; \ + gchar *caps_str = gst_caps_to_string(x_caps); \ + LOG_INFO("%s caps[%s]", x_prefix, caps_str); \ + g_free(caps_str); \ +} while (0) + #define CREATE_ELEMENT_FROM_REGISTRY(x_elem_info, x_klass_name, x_sink_caps, x_src_caps, x_element) \ do { \ x_elem_info.klass_name = x_klass_name; \ diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index 4169a8fd..ee215fc1 100644 --- a/packaging/capi-media-webrtc.spec +++ b/packaging/capi-media-webrtc.spec @@ -1,6 +1,6 @@ Name: capi-media-webrtc Summary: A WebRTC library in Tizen Native API -Version: 0.1.168 +Version: 0.1.169 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/webrtc_sink.c b/src/webrtc_sink.c index a7bf725d..8a5d2302 100644 --- a/src/webrtc_sink.c +++ b/src/webrtc_sink.c @@ -535,7 +535,6 @@ static media_format_h __make_media_format(GstPad *pad) { GstCaps *caps; GstStructure *structure; - gchar *caps_str; const gchar *mime; media_format_h format; media_format_mimetype_e mimetype; @@ -547,9 +546,8 @@ static media_format_h __make_media_format(GstPad *pad) caps = gst_pad_get_current_caps(pad); structure = gst_caps_get_structure(caps, 0); mime = gst_structure_get_name(structure); - caps_str = gst_caps_to_string(caps); - LOG_WARNING("%s", caps_str); - g_free(caps_str); + + PRINT_CAPS(caps, "pad"); if (__get_media_format_mimetype(mime, &mimetype) != WEBRTC_ERROR_NONE) goto error; @@ -800,10 +798,7 @@ int _add_forwarding_sink_bin(webrtc_s *webrtc, GstPad *src_pad, bool is_video) goto error_before_insert; if ((sink_caps = __make_caps_if_h264_or_h265(src_pad))) { - gchar *caps_str = gst_caps_to_string(sink_caps); - LOG_INFO("capsfilter caps[%s]", caps_str); - g_free(caps_str); - + PRINT_CAPS(sink_caps, "capsfilter"); g_object_set(G_OBJECT(capsfilter), "caps", sink_caps, NULL); gst_caps_unref(sink_caps); } diff --git a/src/webrtc_source.c b/src/webrtc_source.c index e6a14988..ea3f5c62 100644 --- a/src/webrtc_source.c +++ b/src/webrtc_source.c @@ -515,7 +515,6 @@ static GstCaps *__make_encoded_caps_from_media_format(webrtc_gst_slot_s *source, static GstCaps *__make_rtp_caps(const gchar *media_type, unsigned int id) { - gchar *caps_str; GstCaps *caps; bool is_video; codec_type_e codec_type; @@ -533,10 +532,7 @@ static GstCaps *__make_rtp_caps(const gchar *media_type, unsigned int id) "encoding-name", G_TYPE_STRING, payload_types[codec_type].encoding_name, "payload", G_TYPE_INT, id + 95, NULL); - caps_str = gst_caps_to_string(caps); - LOG_INFO("RTP caps is created [%s]", caps_str); - - g_free(caps_str); + PRINT_CAPS(caps, "RTP"); return caps; } @@ -602,9 +598,7 @@ static int __create_rest_of_elements(webrtc_s *webrtc, webrtc_gst_slot_s *source return WEBRTC_ERROR_INVALID_OPERATION; } if ((sink_caps = __make_default_raw_caps(source, &webrtc->ini))) { - gchar *caps_str = gst_caps_to_string(sink_caps); - LOG_INFO("capsfilter caps[%s]", caps_str); - g_free(caps_str); + PRINT_CAPS(sink_caps, "capsfilter"); g_object_set(G_OBJECT(*capsfilter), "caps", sink_caps, NULL); gst_caps_unref(sink_caps); @@ -1132,7 +1126,6 @@ static int __complete_mediapacketsrc_from_raw_format(webrtc_s *webrtc, webrtc_gs GstElement *queue; GstElement *capsfilter; GstCaps *sink_caps; - gchar *caps_str; RET_VAL_IF(webrtc == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "webrtc is NULL"); RET_VAL_IF(source == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "source is NULL"); @@ -1152,9 +1145,7 @@ static int __complete_mediapacketsrc_from_raw_format(webrtc_s *webrtc, webrtc_gs LOG_ERROR("failed to __make_raw_caps_from_media_format()"); return WEBRTC_ERROR_INVALID_OPERATION; } - caps_str = gst_caps_to_string(sink_caps); - LOG_INFO("appsrc caps[%s]", caps_str); - g_free(caps_str); + PRINT_CAPS(sink_caps, "appsrc"); g_object_set(G_OBJECT(appsrc), "caps", sink_caps, NULL); gst_caps_unref(sink_caps); @@ -1201,7 +1192,6 @@ static int __complete_mediapacketsrc_from_encoded_format(webrtc_s *webrtc, webrt GstElement *queue; GstElement *capsfilter; GstCaps *sink_caps; - gchar *caps_str; RET_VAL_IF(webrtc == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "webrtc is NULL"); RET_VAL_IF(source == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "source is NULL"); @@ -1221,9 +1211,7 @@ static int __complete_mediapacketsrc_from_encoded_format(webrtc_s *webrtc, webrt LOG_ERROR("failed to __make_encoded_caps_for_appsrc()"); return WEBRTC_ERROR_INVALID_OPERATION; } - caps_str = gst_caps_to_string(sink_caps); - LOG_INFO("appsrc caps[%s]", caps_str); - g_free(caps_str); + PRINT_CAPS(sink_caps, "appsrc"); g_object_set(G_OBJECT(appsrc), "caps", sink_caps, NULL); gst_caps_unref(sink_caps); @@ -1463,7 +1451,6 @@ int _set_video_source_resolution(webrtc_s *webrtc, unsigned int source_id, int w webrtc_gst_slot_s *source; GstElement *capsfilter; GstCaps *new_caps = NULL; - gchar *caps_str; RET_VAL_IF(webrtc == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "webrtc is NULL"); RET_VAL_IF((source = _get_slot_by_id(webrtc->gst.source_slots, source_id)) == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "could not find source"); @@ -1479,9 +1466,7 @@ int _set_video_source_resolution(webrtc_s *webrtc, unsigned int source_id, int w if (!(new_caps = __make_video_raw_caps_with_resolution(source, &webrtc->ini, width, height))) return WEBRTC_ERROR_INVALID_OPERATION; - caps_str = gst_caps_to_string(new_caps); - LOG_INFO("capsfilter caps[%s]", caps_str); - g_free(caps_str); + PRINT_CAPS(new_caps, "capsfilter"); g_object_set(G_OBJECT(capsfilter), "caps", new_caps, NULL); gst_caps_unref(new_caps);