webrtc_stats: Print values in __gststructure_foreach_cb() 06/271706/2
authorSangchul Lee <sc11.lee@samsung.com>
Thu, 24 Feb 2022 11:10:04 +0000 (20:10 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Fri, 25 Feb 2022 06:53:31 +0000 (15:53 +0900)
[Version] 0.3.62
[Issue Type] Log

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

index 210c89bf3ae6de15d2a1c3178f93c814de8e4b32..036245abf2ad7c2a9180651497834379660ea537 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    0.3.61
+Version:    0.3.62
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index c189561cd6a9dff4494b846cee70bc6b6a716993..88051a132baa77625d9018ff7184f8b2853b365a 100644 (file)
@@ -154,7 +154,50 @@ typedef struct _stats_peer_connection_s {
 /* 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;
 }