[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;
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;
}