latency: Dot not override already stored events
[platform/upstream/gstreamer.git] / tools / gst-stats.c
index d1ae659..065f8ca 100644 (file)
@@ -159,7 +159,7 @@ new_pad_stats (GstStructure * s)
   stats->dir = dir;
   stats->min_size = G_MAXUINT;
   stats->first_ts = stats->last_ts = stats->next_ts = GST_CLOCK_TIME_NONE;
-  stats->thread_id = (gpointer) thread_id;
+  stats->thread_id = (gpointer) (guintptr) thread_id;
   stats->parent_ix = parent_ix;
 
   if (pads->len <= ix)
@@ -280,7 +280,8 @@ do_element_stats (GstElementStats * stats, GstElementStats * peer_stats,
 static void
 do_buffer_stats (GstStructure * s)
 {
-  guint64 ts, buffer_pts, buffer_dur;
+  guint64 ts;
+  guint64 buffer_pts = GST_CLOCK_TIME_NONE, buffer_dur = GST_CLOCK_TIME_NONE;
   guint pad_ix, elem_ix, peer_elem_ix;
   guint size;
   GstBufferFlags buffer_flags;
@@ -291,11 +292,11 @@ do_buffer_stats (GstStructure * s)
   gst_structure_get (s, "ts", G_TYPE_UINT64, &ts,
       "pad-ix", G_TYPE_UINT, &pad_ix,
       "element-ix", G_TYPE_UINT, &elem_ix,
-      "peer-elem-ix", G_TYPE_UINT, &peer_elem_ix,
+      "peer-element-ix", G_TYPE_UINT, &peer_elem_ix,
       "buffer-size", G_TYPE_UINT, &size,
-      "buffer-pts", G_TYPE_UINT64, &buffer_pts,
-      "buffer-duration", G_TYPE_UINT64, &buffer_dur,
       "buffer-flags", GST_TYPE_BUFFER_FLAGS, &buffer_flags, NULL);
+  gst_structure_get_uint64 (s, "buffer-pts", &buffer_pts);
+  gst_structure_get_uint64 (s, "buffer-duration", &buffer_dur);
   last_ts = MAX (last_ts, ts);
   if (!(pad_stats = get_pad_stats (pad_ix))) {
     GST_WARNING ("no pad stats found for ix=%u", pad_ix);
@@ -392,7 +393,7 @@ do_thread_rusage_stats (GstStructure * s)
       "thread-id", G_TYPE_UINT64, &thread_id,
       "average-cpuload", G_TYPE_UINT, &cpuload, "time", G_TYPE_UINT64, &tthread,
       NULL);
-  thread_stats = get_thread_stats ((gpointer) thread_id);
+  thread_stats = get_thread_stats ((gpointer) (guintptr) thread_id);
   thread_stats->cpuload = cpuload;
   thread_stats->tthread = tthread;
   last_ts = MAX (last_ts, ts);
@@ -648,15 +649,15 @@ init (void)
       /* 1: ts */
       "^([0-9:.]+) +"
       /* 2: pid */
-      "\\\e\\\[[0-9;]+m *([0-9]+)\\\e\\\[00m +"
+      "\\\x1b\\[[0-9;]+m *([0-9]+)\\\x1b\\[00m +"
       /* 3: thread */
       "(0x[0-9a-fA-F]+) +"
       /* 4: level */
-      "(?:\\\e\\\[[0-9;]+m)?([A-Z]+) +\\\e\\\[00m +"
+      "(?:\\\x1b\\[[0-9;]+m)?([A-Z]+) +\\\x1b\\[00m +"
       /* 5: category */
-      "\\\e\\\[[0-9;]+m +([a-zA-Z_-]+) +"
+      "\\\x1b\\[[0-9;]+m +([a-zA-Z_-]+) +"
       /* 6: file:line:func: */
-      "([^:]*:[0-9]+:[^:]*:)(?:\\\e\\\[00m)? +"
+      "([^:]*:[0-9]+:[^:]*:)(?:\\\x1b\\[00m)? +"
       /* 7: (obj)? log-text */
       "(.*)$", 0, 0, NULL);
   if (!raw_log) {