From: Sangchul Lee Date: Wed, 23 Mar 2022 04:21:00 +0000 (+0900) Subject: webrtc_test: Print stats type as string X-Git-Tag: submit/tizen/20220331.093038~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F11%2F272711%2F4;p=platform%2Fcore%2Fapi%2Fwebrtc.git webrtc_test: Print stats type as string [Version] 0.3.77 [Issue Type] Log Change-Id: I7126c2da4ec511a10abe2f7d8dd71afb62d74d45 Signed-off-by: Sangchul Lee --- diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index f2726013..2bca9377 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.3.76 +Version: 0.3.77 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/test/webrtc_test.c b/test/webrtc_test.c index f4afb476..2bca3cce 100644 --- a/test/webrtc_test.c +++ b/test/webrtc_test.c @@ -133,23 +133,31 @@ const char *g_server_status_str[] = { [SERVER_STATUS_ERROR_FOUND] = "ERROR_FOUND", }; -static const char* g_webrtc_state_str[] = { +static const char *g_webrtc_state_str[] = { [WEBRTC_STATE_IDLE] = "IDLE", [WEBRTC_STATE_NEGOTIATING] = "NEGOTIATING", [WEBRTC_STATE_PLAYING] = "PLAYING", }; -static const char* g_webrtc_media_type_str[] = { +static const char *g_webrtc_media_type_str[] = { [WEBRTC_MEDIA_TYPE_AUDIO] = "AUDIO", [WEBRTC_MEDIA_TYPE_VIDEO] = "VIDEO", }; -static const char* g_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; }