Apply new TIZEN_FEATURE_DNS definition 68/291168/1
authorSangchul Lee <sc11.lee@samsung.com>
Tue, 11 Apr 2023 05:24:04 +0000 (14:24 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Tue, 11 Apr 2023 05:24:47 +0000 (14:24 +0900)
[Version] 0.4.7
[Issue Type] Feature

Change-Id: I63e85cddacd1cd56dc47cb6c73fa162a623dc07e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
CMakeLists.txt
include/webrtc_private.h
packaging/capi-media-webrtc.spec
src/webrtc.c
src/webrtc_private.c

index 44bd99ee63eb4f87b3f704daf45c433e21f0719b..8dc4d0f99e990096c545b4a6ea8df264598f31c7 100644 (file)
@@ -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})
 
index 37b2361bb1afc05f62b7607cf092d71fbeba0085..3da66c58cfc2cf5804eb8df9921a566a1a598d81 100644 (file)
@@ -32,7 +32,9 @@
 #include <tbm_bufmgr.h>
 #include <libwebsockets.h>
 #include <libsoup/soup.h>
+#ifdef TIZEN_FEATURE_DNS
 #include <dns_sd.h>
+#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;
index 1252f214d46dee129b912d610f7eee857c2ba4a6..d949a477bba227fba8405f35b15a99f671e39d41 100644 (file)
@@ -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}
index a8ea2d0bc671af04e208848831716dda86197af2..f7fb89c61e457673d4c685d97aa23ffdee922c4d 100644 (file)
@@ -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()");
index b871a36c4c97a0029633613a4ff6b417928023b5..d2578159fdc90285a1f58997512169a245e9c4dc 100644 (file)
@@ -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)