Fix caps double unref when making element 78/268278/5
authorbackto.kim <backto.kim@samsung.com>
Mon, 20 Dec 2021 01:56:00 +0000 (10:56 +0900)
committerbackto.kim <backto.kim@samsung.com>
Mon, 20 Dec 2021 06:46:34 +0000 (15:46 +0900)
[Version] 0.3.25
[Issue Type] Bug fix

Change-Id: I8ac9b81d6301eb0c519d6976b6fe620cad6bade5

packaging/capi-media-webrtc.spec
src/webrtc_sink.c
src/webrtc_source.c

index 5b7841400682810a054d9e5260d1311b303c9078..e609588c580da7823574ba4f09238e8de25fa55e 100644 (file)
@@ -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
index 40a04536a247168f7f33ff316e36192befec0f16..dd9b411a1d5fe2888bb82479cc7f876e3182124e 100644 (file)
@@ -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;
index 5998cc23106dc0b4cad185a04f66d2cea7dbee87..f94a42d74c43c2a75a8b0291500f9c080ef51a37 100644 (file)
@@ -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);