From: backto.kim Date: Tue, 5 Oct 2021 05:13:38 +0000 (+0900) Subject: webrtc_source: Fix invalid use of capsfilter X-Git-Tag: submit/tizen/20211020.012736~16 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F14%2F264914%2F1;p=platform%2Fcore%2Fapi%2Fwebrtc.git webrtc_source: Fix invalid use of capsfilter [Version] 0.2.114 [Issue Type] Improvement Change-Id: I98dc18b2139c767f6d917962d1e5d613a679d37b --- diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index ae6fa979..cf151355 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.2.113 +Version: 0.2.114 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/webrtc_source.c b/src/webrtc_source.c index aeb583d1..ee5ebb22 100644 --- a/src/webrtc_source.c +++ b/src/webrtc_source.c @@ -854,7 +854,7 @@ static int __create_rest_of_elements(webrtc_s *webrtc, webrtc_gst_slot_s *source if ((sink_caps = __make_default_encoded_caps(source, &webrtc->ini, NULL))) { PRINT_CAPS(sink_caps, "capsfilter"); g_object_set(G_OBJECT(capsfilter), "caps", sink_caps, NULL); - gst_caps_unref(sink_caps); + source->av[idx].render.appsrc_caps = sink_caps; } source->av[idx].render.need_decoding = true; @@ -866,8 +866,10 @@ static int __create_rest_of_elements(webrtc_s *webrtc, webrtc_gst_slot_s *source if ((sink_caps = __make_default_raw_caps(source, &webrtc->ini))) { PRINT_CAPS(sink_caps, "capsfilter"); g_object_set(G_OBJECT(capsfilter), "caps", sink_caps, NULL); - gst_caps_unref(sink_caps); + source->av[idx].render.appsrc_caps = sink_caps; } + + __add_probe_to_pad_for_render(source, idx, gst_element_get_static_pad(capsfilter, "src"), __source_data_probe_cb); } if (source->type == WEBRTC_MEDIA_SOURCE_TYPE_SCREEN && !source->zerocopy_enabled) { @@ -903,7 +905,6 @@ static int __create_rest_of_elements(webrtc_s *webrtc, webrtc_gst_slot_s *source g_free(encoder_name); source->av[idx].render.need_decoding = false; - __add_probe_to_pad_for_render(source, idx, gst_element_get_static_pad(capsfilter, "src"), __source_data_probe_cb); skip_encoder: CREATE_ELEMENT_FROM_REGISTRY(elem_info, GST_KLASS_NAME_PAYLOADER_RTP, @@ -935,10 +936,6 @@ skip_encoder: g_free(media_type); - g_object_get(G_OBJECT(capsfilter), "caps", &sink_caps, NULL); - if (sink_caps) - source->av[idx].render.appsrc_caps = sink_caps; - return WEBRTC_ERROR_NONE; error: