From 4273790d51f6a1dcb2c17c33fe37e1a156e44b47 Mon Sep 17 00:00:00 2001 From: Sangchul Lee Date: Tue, 11 Apr 2023 14:24:04 +0900 Subject: [PATCH] Apply new TIZEN_FEATURE_DNS definition [Version] 0.4.7 [Issue Type] Feature Change-Id: I63e85cddacd1cd56dc47cb6c73fa162a623dc07e Signed-off-by: Sangchul Lee --- CMakeLists.txt | 9 ++++++++- include/webrtc_private.h | 5 ++++- packaging/capi-media-webrtc.spec | 13 ++++++++++--- src/webrtc.c | 6 ++++-- src/webrtc_private.c | 2 ++ 5 files changed, 28 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 44bd99ee..8dc4d0f9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ INCLUDE_DIRECTORIES(${INC_DIR}) SET(dependents "dlog glib-2.0 gstreamer-1.0 gstreamer-webrtc-1.0 gstreamer-video-1.0 gstreamer-audio-1.0 \ gstreamer-allocators-1.0 libpulse json-glib-1.0 iniparser mm-common mm-display-interface capi-media-tool \ libtbm libwebsockets cynara-client libsmack capi-system-info libsoup-2.4 bundle capi-media-sound-manager \ - mm-fileinfo mmutil-common mmutil-imgp mmutil-jpeg mmutil-magick dns_sd") + mm-fileinfo mmutil-common mmutil-imgp mmutil-jpeg mmutil-magick") IF(NOT TIZEN_PROFILE_TV) SET(dependents "${dependents} mm-resource-manager") IF(TIZEN_FEATURE_UI) @@ -25,6 +25,10 @@ ENDIF() IF(TIZEN_FEATURE_UI) ADD_DEFINITIONS("-DTIZEN_FEATURE_UI") ENDIF() +IF(TIZEN_FEATURE_DNS) + ADD_DEFINITIONS("-DTIZEN_FEATURE_DNS") + SET(dependents "${dependents} dns_sd") +ENDIF() SET(pc_dependents "capi-base-common capi-media-sound-manager capi-media-tool bundle" ) @@ -56,6 +60,9 @@ ENDIF() IF(NOT TIZEN_FEATURE_UI) LIST(REMOVE_ITEM SOURCES src/webrtc_source_screen.c) ENDIF() +IF(NOT TIZEN_FEATURE_DNS) + LIST(REMOVE_ITEM SOURCES src/webrtc_dns.c) +ENDIF() ADD_LIBRARY(${fw_name} SHARED ${SOURCES}) diff --git a/include/webrtc_private.h b/include/webrtc_private.h index 37b2361b..3da66c58 100644 --- a/include/webrtc_private.h +++ b/include/webrtc_private.h @@ -32,7 +32,9 @@ #include #include #include +#ifdef TIZEN_FEATURE_DNS #include +#endif #include "webrtc_internal.h" @@ -519,13 +521,14 @@ typedef struct _webrtc_s { GAsyncQueue *queue; } snapshot; +#ifdef TIZEN_FEATURE_DNS struct { DNSServiceRef client; DNSServiceRef client_pa; /* proxy address record */ gchar *hostname; gchar *ip; } dns; - +#endif guint idle_cb_event_source_ids[IDLE_CB_TYPE_NUM]; webrtc_callbacks_s error_cb; diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index 1252f214..d949a477 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.4.6 +Version: 0.4.7 Release: 0 Group: Multimedia/API License: Apache-2.0 @@ -39,7 +39,9 @@ BuildRequires: pkgconfig(mmutil-common) BuildRequires: pkgconfig(mmutil-imgp) BuildRequires: pkgconfig(mmutil-jpeg) BuildRequires: pkgconfig(mmutil-magick) +%if "%{without_dns}" != "1" BuildRequires: pkgconfig(dns_sd) +%endif %if "%{tizen_profile_name}" != "tv" BuildRequires: pkgconfig(mm-resource-manager) BuildRequires: pkgconfig(capi-system-sensor) @@ -118,9 +120,14 @@ MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` -DTIZEN_FEATURE_ESPP=off \ %endif %if "%{without_ui}" == "1" --DTIZEN_FEATURE_UI=off +-DTIZEN_FEATURE_UI=off \ +%else +-DTIZEN_FEATURE_UI=on \ +%endif +%if "%{without_dns}" == "1" +-DTIZEN_FEATURE_DNS=off \ %else --DTIZEN_FEATURE_UI=on +-DTIZEN_FEATURE_DNS=on \ %endif make %{?jobs:-j%jobs} diff --git a/src/webrtc.c b/src/webrtc.c index a8ea2d0b..f7fb89c6 100644 --- a/src/webrtc.c +++ b/src/webrtc.c @@ -110,11 +110,12 @@ int webrtc_create(webrtc_h *webrtc) #endif } +#ifdef TIZEN_FEATURE_DNS if (_webrtc->ini.general.conceal_private_ip) { if ((ret = _register_dns_service(_webrtc)) != WEBRTC_ERROR_NONE) LOG_WARNING("failed to _register_dns_service() but keep going"); } - +#endif if ((ret = _init_convert_thread(_webrtc)) != WEBRTC_ERROR_NONE) goto error; @@ -164,9 +165,10 @@ int webrtc_destroy(webrtc_h webrtc) ret = _gst_pipeline_set_state(_webrtc, GST_STATE_NULL); RET_VAL_IF(ret != WEBRTC_ERROR_NONE, ret, "failed to _gst_pipeline_set_state()"); +#ifdef TIZEN_FEATURE_DNS if (_webrtc->ini.general.conceal_private_ip) _unregister_dns_service(_webrtc); - +#endif #ifndef TIZEN_TV ret = _destroy_resource_manager(_webrtc); RET_VAL_IF(ret != WEBRTC_ERROR_NONE, ret, "failed to _destroy_resource_manager()"); diff --git a/src/webrtc_private.c b/src/webrtc_private.c index b871a36c..d2578159 100644 --- a/src/webrtc_private.c +++ b/src/webrtc_private.c @@ -1139,7 +1139,9 @@ static void __webrtcbin_on_ice_candidate_cb(GstElement *webrtcbin, guint mlinein LOG_DEBUG("webrtc[%p] mlineindex[%u] candidate[%s]", webrtc, mlineindex, candidate); +#ifdef TIZEN_FEATURE_DNS candidate_with_hostname = _replace_ip_with_hostname(webrtc, (const gchar *)candidate); +#endif _candidate = __make_ice_candidate_message(mlineindex, candidate_with_hostname ? candidate_with_hostname : candidate); g_free(candidate_with_hostname); if (!_candidate) -- 2.34.1