From: Sangchul Lee Date: Wed, 9 Sep 2020 02:19:40 +0000 (+0900) Subject: webrtc_test: Revise setting remote description X-Git-Tag: submit/tizen/20210729.023123~224 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F49%2F243649%2F8;p=platform%2Fcore%2Fapi%2Fwebrtc.git webrtc_test: Revise setting remote description It should be set after receiving it from server. [Version] 0.1.18 [Issue Type] Test application Change-Id: I50f1ef6beefd24238fa2e9df1e6a890887262d43 Signed-off-by: Sangchul Lee --- diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index 81b422a1..06ebc89a 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.1.17 +Version: 0.1.18 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/test/webrtc_test.c b/test/webrtc_test.c index fd8ab375..eb499564 100644 --- a/test/webrtc_test.c +++ b/test/webrtc_test.c @@ -74,6 +74,7 @@ static appdata ad; static webrtc_h g_webrtc; static char *g_offer; static char *g_answer; +static char *g_remote_desc; static SoupWebsocketConnection *g_ws_conn; static gint32 g_local_peer_id; static gchar g_signaling_server[MAX_STRING_LEN]; @@ -461,11 +462,11 @@ static void _webrtc_set_local_description(char *desc) g_print("webrtc_set_local_description() success\n"); } -static void _webrtc_set_remote_description(char *desc) +static void _webrtc_set_remote_description(void) { int ret = WEBRTC_ERROR_NONE; - ret = webrtc_set_remote_description(g_webrtc, desc); + ret = webrtc_set_remote_description(g_webrtc, g_remote_desc); if (ret != WEBRTC_ERROR_NONE) g_print("failed to webrtc_set_remote_description()\n"); else @@ -550,7 +551,14 @@ static void __handle_json_structured_message(const gchar *text) { JsonNode *root; JsonObject *object; - JsonParser *parser = json_parser_new(); + JsonParser *parser; + + if (!text) { + g_printerr("text is NULL\n"); + return; + } + + parser = json_parser_new(); if (!json_parser_load_from_data(parser, text, -1, NULL)) { g_printerr("unknown message [%s]\n", text); @@ -568,7 +576,9 @@ static void __handle_json_structured_message(const gchar *text) object = json_node_get_object(root); if (json_object_has_member(object, "sdp")){ g_print("\n[from SERVER > SDP]\n%s\n", text); - /* FIXME: set remote session description */ + if (g_remote_desc) + free(g_remote_desc); + g_remote_desc = strdup(text); } else if (json_object_has_member(object, "ice")){ g_print("\n[from SERVER > ICE]\n%s\n", text); @@ -695,7 +705,9 @@ void quit_program() _webrtc_stop(); _webrtc_destroy(); } - + free(g_offer); + free(g_answer); + free(g_remote_desc); elm_exit(); } @@ -757,7 +769,7 @@ void _interpret_main_menu(char *cmd) g_menu_state = CURRENT_STATUS_SET_LOCAL_DESCRIPTION; } else if (strncmp(cmd, "sr", 2) == 0) { - g_menu_state = CURRENT_STATUS_SET_REMOTE_DESCRIPTION; + _webrtc_set_remote_description(); } else if (strncmp(cmd, "st", 2) == 0) { g_menu_state = CURRENT_STATUS_SET_STUN_SERVER; @@ -850,8 +862,6 @@ static void displaymenu() g_print("*** input STUN server address.\n"); } else if (g_menu_state == CURRENT_STATUS_SET_LOCAL_DESCRIPTION) { g_print("*** input type of local description.(1:offer, 2:answer)\n"); - } else if (g_menu_state == CURRENT_STATUS_SET_REMOTE_DESCRIPTION) { - g_print("*** input type of remote description.(1:offer, 2:answer)\n"); } else if (g_menu_state == CURRENT_STATUS_SETTING_SIGNALING_SERVER) { g_print("*** input signaling server URL.\n"); } else if (g_menu_state == CURRENT_STATUS_SETTING_PROXY) { @@ -875,8 +885,6 @@ gboolean timeout_menu_display(void *data) gboolean timeout_quit_program(void *data) { - free(g_offer); - free(g_answer); quit_program(); return FALSE; } @@ -923,19 +931,6 @@ static void interpret(char *cmd) reset_menu_state(); break; } - case CURRENT_STATUS_SET_REMOTE_DESCRIPTION: { - /* FIXME: Setting remote description should be set via signaling server */ - value = atoi(cmd); - if (value == 1) - _webrtc_set_remote_description(g_offer); - else if (value == 2) - _webrtc_set_remote_description(g_answer); - else - g_print("invalid value[%d]\n", value); - - reset_menu_state(); - break; - } case CURRENT_STATUS_SETTING_SIGNALING_SERVER: { _setting_uri(g_signaling_server, cmd); reset_menu_state();