/* This is for debug purpose to check which fields are actually provided via webrtcbin. */
static gboolean __gststructure_foreach_cb(GQuark field_id, const GValue *val, gpointer data)
{
- LOG_DEBUG("field_id[%s] GType[%s]", g_quark_to_string(field_id), g_type_name(G_VALUE_TYPE(val)));
+ switch (G_VALUE_TYPE(val)) {
+ case G_TYPE_BOOLEAN:
+ LOG_DEBUG("field_id[%s] GType[%s] value[%u]",
+ g_quark_to_string(field_id), g_type_name(G_VALUE_TYPE(val)), g_value_get_boolean(val));
+ break;
+ case G_TYPE_INT:
+ LOG_DEBUG("field_id[%s] GType[%s] value[%d]",
+ g_quark_to_string(field_id), g_type_name(G_VALUE_TYPE(val)), g_value_get_int(val));
+ break;
+ case G_TYPE_INT64:
+ LOG_DEBUG("field_id[%s] GType[%s] value[%"G_GINT64_FORMAT"]",
+ g_quark_to_string(field_id), g_type_name(G_VALUE_TYPE(val)), g_value_get_int64(val));
+ break;
+ case G_TYPE_UINT:
+ LOG_DEBUG("field_id[%s] GType[%s] value[%u]",
+ g_quark_to_string(field_id), g_type_name(G_VALUE_TYPE(val)), g_value_get_uint(val));
+ break;
+ case G_TYPE_UINT64:
+ LOG_DEBUG("field_id[%s] GType[%s] value[%"G_GUINT64_FORMAT"]",
+ g_quark_to_string(field_id), g_type_name(G_VALUE_TYPE(val)), g_value_get_uint64(val));
+ break;
+ case G_TYPE_FLOAT:
+ LOG_DEBUG("field_id[%s] GType[%s] value[%f]",
+ g_quark_to_string(field_id), g_type_name(G_VALUE_TYPE(val)), g_value_get_float(val));
+ break;
+ case G_TYPE_DOUBLE:
+ LOG_DEBUG("field_id[%s] GType[%s] value[%lf]",
+ g_quark_to_string(field_id), g_type_name(G_VALUE_TYPE(val)), g_value_get_double(val));
+ break;
+ case G_TYPE_STRING:
+ LOG_DEBUG("field_id[%s] GType[%s] value[%s]",
+ g_quark_to_string(field_id), g_type_name(G_VALUE_TYPE(val)), g_value_get_string(val));
+ break;
+ default:
+ if (!g_strcmp0(g_type_name(G_VALUE_TYPE(val)), "GstWebRTCStatsType")) {
+ LOG_DEBUG("field_id[%s] GType[%s] value[%d]",
+ g_quark_to_string(field_id), g_type_name(G_VALUE_TYPE(val)), g_value_get_enum(val));
+ break;
+ }
+ LOG_ERROR("invalid type, field_id[%s] GType[%s]",
+ g_quark_to_string(field_id), g_type_name(G_VALUE_TYPE(val)));
+ break;
+ }
+
return TRUE;
}