log_omx_performance: convert pointers to strings

G_TYPE_POINTER are not serialized in logs.

https://bugzilla.gnome.org/show_bug.cgi?id=794331
This commit is contained in:
Guillaume Desmottes 2018-03-14 14:53:50 +01:00
parent dec9c8c385
commit 021b66878a

View file

@ -655,10 +655,16 @@ log_omx_performance (GstOMXComponent * comp, const gchar * event,
return;
if (buf) {
gchar *buf_str, *omx_buf_str;
/* GST_PTR_FORMAT won't serialize G_TYPE_POINTER fields so stringify pointers */
buf_str = g_strdup_printf ("%p", buf);
omx_buf_str = g_strdup_printf ("%p", buf->omx_buf);
/* *INDENT-OFF* */
s = gst_structure_new (event,
"GstOMXBuffer", G_TYPE_POINTER, buf,
"OMX-buffer", G_TYPE_POINTER, buf->omx_buf,
"GstOMXBuffer", G_TYPE_STRING, buf_str,
"OMX-buffer", G_TYPE_STRING, omx_buf_str,
"TimeStamp", G_TYPE_UINT64, GST_OMX_GET_TICKS (buf->omx_buf->nTimeStamp),
"AllocLen", G_TYPE_UINT, buf->omx_buf->nAllocLen,
"FilledLen", G_TYPE_UINT, buf->omx_buf->nFilledLen,
@ -666,6 +672,9 @@ log_omx_performance (GstOMXComponent * comp, const gchar * event,
"flags-str", G_TYPE_STRING, gst_omx_buffer_flags_to_string (buf->omx_buf->nFlags),
NULL);
/* *INDENT-ON* */
g_free (buf_str);
g_free (omx_buf_str);
} else {
s = gst_structure_new_empty (event);
}