Apply new TIZEN_FEATURE_SIGNALING definition 33/291433/1 accepted/tizen/unified/20230417.140305
authorSangchul Lee <sc11.lee@samsung.com>
Mon, 17 Apr 2023 02:44:59 +0000 (11:44 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Mon, 17 Apr 2023 02:44:59 +0000 (11:44 +0900)
[Version] 0.4.10
[Issue Type] Feature

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

index 364aebb0d82a20f51f088c0e6b14936ce3ffdb12..26710090479bcce2c4191a390a4c98dc89699223 100644 (file)
@@ -11,9 +11,8 @@ SET(INC_DIR include)
 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")
+    gstreamer-allocators-1.0 libpulse json-glib-1.0 iniparser mm-common mm-display-interface capi-media-tool \
+    libtbm cynara-client libsmack capi-system-info bundle capi-media-sound-manager mm-fileinfo")
 IF(NOT TIZEN_PROFILE_TV)
     SET(dependents "${dependents} mm-resource-manager")
     IF(TIZEN_FEATURE_UI)
@@ -33,6 +32,10 @@ IF(TIZEN_FEATURE_SNAPSHOT)
     ADD_DEFINITIONS("-DTIZEN_FEATURE_SNAPSHOT")
     SET(dependents "${dependents} mmutil-common mmutil-imgp mmutil-jpeg mmutil-magick")
 ENDIF()
+IF(TIZEN_FEATURE_SIGNALING)
+    ADD_DEFINITIONS("-DTIZEN_FEATURE_SIGNALING")
+    SET(dependents "${dependents} libwebsockets libsoup-2.4")
+ENDIF()
 
 SET(pc_dependents "capi-base-common capi-media-sound-manager capi-media-tool bundle" )
 
@@ -70,6 +73,9 @@ ENDIF()
 IF(NOT TIZEN_FEATURE_SNAPSHOT)
     LIST(REMOVE_ITEM SOURCES src/webrtc_sink_snapshot.c)
 ENDIF()
+IF(NOT TIZEN_FEATURE_SIGNALING)
+    LIST(REMOVE_ITEM SOURCES src/webrtc_websocket.c src/webrtc_signaling_client.c src/webrtc_signaling_server.c)
+ENDIF()
 
 ADD_LIBRARY(${fw_name} SHARED ${SOURCES})
 
@@ -101,7 +107,9 @@ CONFIGURE_FILE(
 )
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 
-ADD_SUBDIRECTORY(test)
+IF(TIZEN_FEATURE_SIGNALING)
+    ADD_SUBDIRECTORY(test)
+ENDIF()
 
 IF(UNIX)
 
index 24a2acf30837900427fd2a0dca75ba57f29c9087..766fdfc59234ba676bcaa9a09b148e8f2c5279cf 100644 (file)
 #include <mm_resource_manager.h>
 #endif
 #include <tbm_bufmgr.h>
+#ifdef TIZEN_FEATURE_SIGNALING
 #include <libwebsockets.h>
 #include <libsoup/soup.h>
+#endif
 #ifdef TIZEN_FEATURE_DNS
 #include <dns_sd.h>
 #endif
@@ -675,11 +677,12 @@ typedef struct {
        const char *encoding_name;
        int clock_rate;
 } rtp_payload_info_s;
-
+#ifdef TIZEN_FEATURE_SIGNALING
 typedef struct _webrtc_websocket_s {
        GMutex mutex;
        struct lws_context *context;
 } webrtc_websocket_s;
+#endif
 
 /* ini */
 void _load_ini(webrtc_s *webrtc);
@@ -865,13 +868,14 @@ int _register_dns_service(webrtc_s *webrtc);
 void _unregister_dns_service(webrtc_s *webrtc);
 gchar *_replace_ip_with_hostname(webrtc_s *webrtc, const gchar *candidate);
 
+#ifdef TIZEN_FEATURE_SIGNALING
 /* websocket*/
 typedef int (*_websocket_cb)(struct lws *wsi, enum lws_callback_reasons reason, void *user, void *in, size_t len);
 webrtc_websocket_s *_alloc_websocket(const int port, const char *ssl_cert_path, const char *ssl_private_key_path, const char *ssl_ca_path, _websocket_cb callback, void *user_data);
 void _release_websocket(webrtc_websocket_s *ws);
 int _start_websocket(webrtc_websocket_s *ws, int timeout_ms);
 int _stop_websocket(webrtc_websocket_s *ws);
-
+#endif
 /* restriction */
 int _check_privilege(const char *privilege);
 int _check_feature(const char *feature);
index 287d8389c7451668498eec831af79796d6b1a19c..02367f41d2254ac04dfb04575ce63c1b3a89db08 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    0.4.9
+Version:    0.4.10
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
@@ -23,12 +23,14 @@ BuildRequires:  pkgconfig(libpulse)
 BuildRequires:  pkgconfig(appcore-efl)
 BuildRequires:  pkgconfig(elementary)
 BuildRequires:  pkgconfig(json-glib-1.0)
-BuildRequires:  pkgconfig(libsoup-2.4)
 BuildRequires:  pkgconfig(iniparser)
 BuildRequires:  pkgconfig(mm-display-interface)
 BuildRequires:  pkgconfig(mm-common)
 BuildRequires:  pkgconfig(libtbm)
+%if "%{without_signaling}" != "1"
+BuildRequires:  pkgconfig(libsoup-2.4)
 BuildRequires:  pkgconfig(libwebsockets)
+%endif
 BuildRequires:  pkgconfig(cynara-client)
 BuildRequires:  pkgconfig(libsmack)
 BuildRequires:  pkgconfig(capi-system-info)
@@ -70,9 +72,7 @@ Requires:   %{name} = %{version}-%{release}
 %description test
 Testsuite of Tizen Native WebRTC API.
 
-%if "%{test_espp_render}" == "1"
-#not including webrtc-test-headless with this condition
-%else
+%if "%{test_espp_render}" != "1"
 %package test-headless
 Summary:    Testsuite of Tizen Native WebRTC API (For headless target)
 Group:      Multimedia/Development
@@ -136,6 +136,11 @@ MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
 %else
 -DTIZEN_FEATURE_SNAPSHOT=on \
 %endif
+%if "%{without_signaling}" == "1"
+-DTIZEN_FEATURE_SIGNALING=off \
+%else
+-DTIZEN_FEATURE_SIGNALING=on \
+%endif
 
 make %{?jobs:-j%jobs}
 
@@ -167,14 +172,14 @@ find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
 %{_libdir}/pkgconfig/*.pc
 %{_libdir}/lib%{name}.so
 
+%if "%{without_signaling}" != "1"
 %files test
 %manifest %{name}-test.manifest
 %{_bindir}/webrtc_test
 %license LICENSE.APLv2
+%endif
 
-%if "%{test_espp_render}" == "1"
-#not including webrtc_test_headless with this condition
-%else
+%if "%{test_espp_render}" != "1" && "%{without_signaling}" != "1"
 %files test-headless
 %manifest %{name}-test-headless.manifest
 %{_bindir}/webrtc_test_headless