webrtc_test: Print stats type as string 11/272711/4
authorSangchul Lee <sc11.lee@samsung.com>
Wed, 23 Mar 2022 04:21:00 +0000 (13:21 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Tue, 29 Mar 2022 14:50:50 +0000 (23:50 +0900)
[Version] 0.3.77
[Issue Type] Log

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

index f2726013453844a0d0a44df0d49e71f7bc9b5e10..2bca93770b4a20c17919b15050021203f99cc80a 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    0.3.76
+Version:    0.3.77
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index f4afb4760372b1c1a17d73327124f1db208216ca..2bca3cce4a0f0949afacda5aa3440f0edf598dfa 100644 (file)
@@ -133,23 +133,31 @@ const char *g_server_status_str[] = {
        [SERVER_STATUS_ERROR_FOUND] = "ERROR_FOUND",
 };
 
-static const charg_webrtc_state_str[] = {
+static const char *g_webrtc_state_str[] = {
        [WEBRTC_STATE_IDLE] = "IDLE",
        [WEBRTC_STATE_NEGOTIATING] = "NEGOTIATING",
        [WEBRTC_STATE_PLAYING] = "PLAYING",
 };
 
-static const charg_webrtc_media_type_str[] = {
+static const char *g_webrtc_media_type_str[] = {
        [WEBRTC_MEDIA_TYPE_AUDIO] = "AUDIO",
        [WEBRTC_MEDIA_TYPE_VIDEO] = "VIDEO",
 };
 
-static const charg_webrtc_transceiver_direction_str[] = {
+static const char *g_webrtc_transceiver_direction_str[] = {
        [WEBRTC_TRANSCEIVER_DIRECTION_SENDONLY] = "SENDONLY",
        [WEBRTC_TRANSCEIVER_DIRECTION_RECVONLY] = "RECVONLY",
        [WEBRTC_TRANSCEIVER_DIRECTION_SENDRECV] = "SENDRECV",
 };
 
+static const char *g_webrtc_stats_type_str[] = {
+       [WEBRTC_STATS_TYPE_CODEC] = "codec",
+       [WEBRTC_STATS_TYPE_INBOUND_RTP] = "inbound-rtp",
+       [WEBRTC_STATS_TYPE_OUTBOUND_RTP] = "outbound-rtp",
+       [WEBRTC_STATS_TYPE_REMOTE_INBOUND_RTP] = "remote-inbound-rtp",
+       [WEBRTC_STATS_TYPE_REMOTE_OUTBOUND_RTP] = "remote-outbound-rtp",
+};
+
 /* for video display */
 static Evas_Object *g_win_id;
 static Evas_Object *g_eo_mine;
@@ -1832,42 +1840,49 @@ static void _webrtc_data_channel_get_buffered_amount(int index)
 
 static bool __stats_cb(webrtc_stats_type_e type, const webrtc_stats_prop_info_s *prop_info, void *user_data)
 {
+       static int last_type = 0;
+
+       if (last_type != (int)type) {
+               g_print("stats_type[0x%04x, %s]\n", type, g_webrtc_stats_type_str[type]);
+               last_type = type;
+       }
+
        switch (prop_info->type) {
        case WEBRTC_STATS_PROP_TYPE_BOOL:
-               g_print("stats type[0x%04x], prop[%23s, 0x%08x, type:%d, value:%21d], user_data[%p]\n",
-                       type, prop_info->name, prop_info->prop, prop_info->type, prop_info->v_bool, user_data);
+               g_print(" prop[%23s, 0x%08x, type:%d, value:%21d], user_data[%p]\n",
+                       prop_info->name, prop_info->prop, prop_info->type, prop_info->v_bool, user_data);
                break;
        case WEBRTC_STATS_PROP_TYPE_INT:
-               g_print("stats type[0x%04x], prop[%23s, 0x%08x, type:%d, value:%21d], user_data[%p]\n",
-                       type, prop_info->name, prop_info->prop, prop_info->type, prop_info->v_int, user_data);
+               g_print(" prop[%23s, 0x%08x, type:%d, value:%21d], user_data[%p]\n",
+                       prop_info->name, prop_info->prop, prop_info->type, prop_info->v_int, user_data);
                break;
        case WEBRTC_STATS_PROP_TYPE_INT64:
-               g_print("stats type[0x%04x], prop[%23s, 0x%08x, type:%d, value:%21"PRId64"], user_data[%p]\n",
-                       type, prop_info->name, prop_info->prop, prop_info->type, prop_info->v_int64, user_data);
+               g_print(" prop[%23s, 0x%08x, type:%d, value:%21"PRId64"], user_data[%p]\n",
+                       prop_info->name, prop_info->prop, prop_info->type, prop_info->v_int64, user_data);
                break;
        case WEBRTC_STATS_PROP_TYPE_UINT:
-               g_print("stats type[0x%04x], prop[%23s, 0x%08x, type:%d, value:%21u], user_data[%p]\n",
-                       type, prop_info->name, prop_info->prop, prop_info->type, prop_info->v_uint, user_data);
+               g_print(" prop[%23s, 0x%08x, type:%d, value:%21u], user_data[%p]\n",
+                       prop_info->name, prop_info->prop, prop_info->type, prop_info->v_uint, user_data);
                break;
        case WEBRTC_STATS_PROP_TYPE_UINT64:
-               g_print("stats type[0x%04x], prop[%23s, 0x%08x, type:%d, value:%21"PRIu64"], user_data[%p]\n",
-                       type, prop_info->name, prop_info->prop, prop_info->type, prop_info->v_uint64, user_data);
+               g_print(" prop[%23s, 0x%08x, type:%d, value:%21"PRIu64"], user_data[%p]\n",
+                       prop_info->name, prop_info->prop, prop_info->type, prop_info->v_uint64, user_data);
                break;
        case WEBRTC_STATS_PROP_TYPE_FLOAT:
-               g_print("stats type[0x%04x], prop[%23s, 0x%08x, type:%d, value:%21f], user_data[%p]\n",
-                       type, prop_info->name, prop_info->prop, prop_info->type, prop_info->v_float, user_data);
+               g_print(" prop[%23s, 0x%08x, type:%d, value:%21f], user_data[%p]\n",
+                       prop_info->name, prop_info->prop, prop_info->type, prop_info->v_float, user_data);
                break;
        case WEBRTC_STATS_PROP_TYPE_DOUBLE:
-               g_print("stats type[0x%04x], prop[%23s, 0x%08x, type:%d, value:%21lf], user_data[%p]\n",
-                       type, prop_info->name, prop_info->prop, prop_info->type, prop_info->v_double, user_data);
+               g_print(" prop[%23s, 0x%08x, type:%d, value:%21lf], user_data[%p]\n",
+                       prop_info->name, prop_info->prop, prop_info->type, prop_info->v_double, user_data);
                break;
        case WEBRTC_STATS_PROP_TYPE_STRING:
-               g_print("stats type[0x%04x], prop[%23s, 0x%08x, type:%d, value:%21s], user_data[%p]\n",
-                       type, prop_info->name, prop_info->prop, prop_info->type, prop_info->v_string, user_data);
+               g_print(" prop[%23s, 0x%08x, type:%d, value:%21s], user_data[%p]\n",
+                       prop_info->name, prop_info->prop, prop_info->type, prop_info->v_string, user_data);
                break;
        default:
-               g_printerr("invalid prop_info->type, stats type[0x%04x], prop[%23s, 0x%08x, type:%d], user_data[%p]\n",
-                       type, prop_info->name, prop_info->prop, prop_info->type, user_data);
+               g_printerr("invalid prop_info->type, prop[%23s, 0x%08x, type:%d], user_data[%p]\n",
+                       prop_info->name, prop_info->prop, prop_info->type, user_data);
                break;
        }