webrtc_test: Add code to show setting and server status 42/243642/7
authorSangchul Lee <sc11.lee@samsung.com>
Wed, 9 Sep 2020 01:49:02 +0000 (10:49 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Fri, 18 Sep 2020 02:44:08 +0000 (11:44 +0900)
[Version] 0.1.17
[Issue Type] Test application

Change-Id: I2a5194af68f695909b874f64f43bf539746d8a2f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
packaging/capi-media-webrtc.spec
test/webrtc_test.c

index 1e36344e189cf9001b2798d53a576c434bddf7d4..81b422a14162f47d9b28d6bda70cf18fb0719a4b 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    0.1.16
+Version:    0.1.17
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index e75bfb368732c58541109d029c9fa9e8e7f445bb..fd8ab375844f6c972caee3848a8b2858f1fdd4e4 100644 (file)
@@ -46,6 +46,20 @@ enum {
        CURRENT_STATUS_SEND_LOCAL_DESCRIPTION,
 };
 
+enum {
+       SERVER_STATUS_DISCONNECTED,
+       SERVER_STATUS_CONNECTED,
+       SERVER_STATUS_SESSION_ESTABLISHED,
+       SERVER_STATUS_ERROR_FOUND
+};
+
+const char *g_server_status_str[] = {
+       "DISCONNECTED",
+       "CONNECTED",
+       "SESSION_ESTABLISHED",
+       "ERROR_FOUND",
+};
+
 /* for video display */
 static Evas_Object *g_eo;
 static Evas_Object *g_win_id;
@@ -65,7 +79,8 @@ static gint32 g_local_peer_id;
 static gchar g_signaling_server[MAX_STRING_LEN];
 static gchar g_stun_server[MAX_STRING_LEN];
 static gchar g_proxy[MAX_STRING_LEN];
-int g_menu_state = CURRENT_STATUS_MAINMENU;
+static int g_server_status = SERVER_STATUS_DISCONNECTED;
+static int g_menu_state = CURRENT_STATUS_MAINMENU;
 
 static void win_del(void *data, Evas_Object *obj, void *event)
 {
@@ -522,6 +537,7 @@ static void __close_websocket(SoupWebsocketConnection *conn, const gchar *messag
                g_object_unref(conn);
 
        g_ws_conn = NULL;
+       g_server_status = SERVER_STATUS_DISCONNECTED;
 }
 
 static void __websocket_closed_cb(SoupWebsocketConnection *conn, gpointer user_data)
@@ -584,9 +600,11 @@ static void __websocket_message_cb(SoupWebsocketConnection *conn, SoupWebsocketD
 
        } else if (g_strcmp0(text, "SESSION_OK") == 0) {
                g_print("\n[from SERVER > %s]\n", text);
+               g_server_status = SERVER_STATUS_SESSION_ESTABLISHED;
 
        } else if (g_str_has_prefix(text, "ERROR")) {
                g_print("\n[from SERVER > %s]\n", text);
+               g_server_status = SERVER_STATUS_ERROR_FOUND;
 
        } else {
                __handle_json_structured_message(text);
@@ -639,6 +657,7 @@ static void __websocket_connected_cb(SoupSession *session, GAsyncResult *res, So
 
        g_local_peer_id = __send_greeting_to_register(ws_conn);
        g_ws_conn = ws_conn;
+       g_server_status = SERVER_STATUS_CONNECTED;
 }
 
 static void _connect_signaling_server(void)
@@ -767,6 +786,23 @@ void _interpret_main_menu(char *cmd)
        }
 }
 
+void display_setting_status()
+{
+       int len_proxy = strlen(g_proxy);
+       int len_server = strlen(g_signaling_server);
+
+       if (len_proxy == 0 && len_server == 0)
+               return;
+
+       if (len_proxy > 0)
+               g_print("  proxy[%s]", g_proxy);
+       if (len_server > 0) {
+               g_print("  server[%s]", g_signaling_server);
+               g_print("[%s]", g_server_status_str[g_server_status]);
+       }
+       g_print("\n-----------------------------------------------------------------------------------------\n");
+}
+
 void display_sub_basic()
 {
        g_print("\n");
@@ -792,6 +828,7 @@ void display_sub_basic()
        g_print("sr. Set remote description\n");
        g_print("st. Set STUN server\n");
        g_print("----------------------------------- App. Setting ----------------------------------------\n");
+       display_setting_status();
        g_print("px. Set proxy URL\n");
        g_print("ss. Set signaling server URL\n");
        g_print("cs. Connect to the signaling server\n");