From: backto.kim Date: Mon, 20 Dec 2021 01:56:00 +0000 (+0900) Subject: Fix caps double unref when making element X-Git-Tag: submit/tizen/20211222.143709~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F78%2F268278%2F5;p=platform%2Fcore%2Fapi%2Fwebrtc.git Fix caps double unref when making element [Version] 0.3.25 [Issue Type] Bug fix Change-Id: I8ac9b81d6301eb0c519d6976b6fe620cad6bade5 --- diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index 5b784140..e609588c 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.3.24 +Version: 0.3.25 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/webrtc_sink.c b/src/webrtc_sink.c index 40a04536..dd9b411a 100644 --- a/src/webrtc_sink.c +++ b/src/webrtc_sink.c @@ -849,7 +849,6 @@ int _add_forwarding_sink_bin(webrtc_s *webrtc, GstPad *src_pad, bool is_video) GstCaps *sink_caps; webrtc_gst_slot_s *sink; GstPad *sink_pad = NULL; - GstCaps *src_caps; RET_VAL_IF(webrtc == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "webrtc is NULL"); RET_VAL_IF(src_pad == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "src_pad is NULL"); @@ -863,9 +862,7 @@ int _add_forwarding_sink_bin(webrtc_s *webrtc, GstPad *src_pad, bool is_video) g_free(bin_name); - src_caps = gst_pad_get_current_caps(src_pad); - CREATE_ELEMENT_FROM_REGISTRY(elem_info, GST_KLASS_NAME_DEPAYLOADER_RTP, src_caps, NULL, NULL, depayloader); - gst_caps_unref(src_caps); + CREATE_ELEMENT_FROM_REGISTRY(elem_info, GST_KLASS_NAME_DEPAYLOADER_RTP, gst_pad_get_current_caps(src_pad), NULL, NULL, depayloader); if (!depayloader) goto error_before_insert; diff --git a/src/webrtc_source.c b/src/webrtc_source.c index 5998cc23..f94a42d7 100644 --- a/src/webrtc_source.c +++ b/src/webrtc_source.c @@ -1950,20 +1950,15 @@ static GstPadProbeReturn __fakesink_probe_cb(GstPad *pad, GstPadProbeInfo *info static GstElement * __create_payloader_for_filesrc_pipeline(GstPad *pad, bool is_audio) { element_info_s elem_info; - GstCaps *caps; GstElement *payloader = NULL; RET_VAL_IF(pad == NULL, NULL, "pad is NULL"); - caps = gst_pad_get_current_caps(pad); - CREATE_ELEMENT_FROM_REGISTRY(elem_info, GST_KLASS_NAME_PAYLOADER_RTP, - caps, + gst_pad_get_current_caps(pad), NULL, NULL, payloader); - - gst_caps_unref(caps); RET_VAL_IF(payloader == NULL, NULL, "payloader is NULL"); gst_element_set_name(payloader, _av_tbl[GET_AV_IDX(is_audio)].payloader_name);