From 9f58aa080a41759462ff5771cb259ee64a7ea51e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Mon, 16 Feb 2015 19:24:44 +0000 Subject: [PATCH] info: nicer buffer offset printing when offsets are not set Print unset offsets as 'none' instead of humongous numbers, for better readability. --- gst/gstinfo.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/gst/gstinfo.c b/gst/gstinfo.c index ffff06d..b2a3005 100644 --- a/gst/gstinfo.c +++ b/gst/gstinfo.c @@ -593,14 +593,29 @@ gst_info_structure_to_string (const GstStructure * s) static inline gchar * gst_info_describe_buffer (GstBuffer * buffer) { + const gchar *offset_str = "none"; + const gchar *offset_end_str = "none"; + gchar offset_buf[32], offset_end_buf[32]; + + if (GST_BUFFER_OFFSET_IS_VALID (buffer)) { + g_snprintf (offset_buf, sizeof (offset_buf), "%" G_GUINT64_FORMAT, + GST_BUFFER_OFFSET (buffer)); + offset_str = offset_buf; + } + if (GST_BUFFER_OFFSET_END_IS_VALID (buffer)) { + g_snprintf (offset_end_buf, sizeof (offset_end_buf), "%" G_GUINT64_FORMAT, + GST_BUFFER_OFFSET_END (buffer)); + offset_end_str = offset_end_buf; + } + return g_strdup_printf ("buffer: %p, pts %" GST_TIME_FORMAT ", dts %" GST_TIME_FORMAT ", dur %" GST_TIME_FORMAT ", size %" G_GSIZE_FORMAT - ", offset %" G_GUINT64_FORMAT ", offset_end %" G_GUINT64_FORMAT - ", flags 0x%x", buffer, GST_TIME_ARGS (GST_BUFFER_PTS (buffer)), + ", offset %s, offset_end %s, flags 0x%x", buffer, + GST_TIME_ARGS (GST_BUFFER_PTS (buffer)), GST_TIME_ARGS (GST_BUFFER_DTS (buffer)), GST_TIME_ARGS (GST_BUFFER_DURATION (buffer)), - gst_buffer_get_size (buffer), GST_BUFFER_OFFSET (buffer), - GST_BUFFER_OFFSET_END (buffer), GST_BUFFER_FLAGS (buffer)); + gst_buffer_get_size (buffer), offset_str, offset_end_str, + GST_BUFFER_FLAGS (buffer)); } static inline gchar * -- 2.7.4