summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Sauer <ensonic@users.sf.net>2013-11-17 11:15:36 +0100
committerStefan Sauer <ensonic@users.sf.net>2015-08-26 22:33:57 +0200
commit50d67069a701730d29417f75597ca55d86d71097 (patch)
treefddd6343539056c5bcb6cbcc71d097659cf0503e
parent888e685f70656a332308fb306805d426763467f8 (diff)
stats: update buffer flags
Remove some buffer flags that were leftovers from 0.10 and handle new 1.0 buffer flags.
-rw-r--r--tools/gst-stats.c33
1 files changed, 25 insertions, 8 deletions
diff --git a/tools/gst-stats.c b/tools/gst-stats.c
index 92b39c267..c7c550e20 100644
--- a/tools/gst-stats.c
+++ b/tools/gst-stats.c
@@ -50,7 +50,8 @@ typedef struct
GstPadDirection dir;
/* buffer statistics */
guint num_buffers;
- guint num_readonly, num_preroll, num_discont, num_gap, num_delta;
+ guint num_live, num_decode_only, num_discont, num_resync, num_corrupted,
+ num_marker, num_header, num_gap, num_droppable, num_delta;
guint min_size, max_size, avg_size;
/* first and last activity on the pad, expected next_ts */
GstClockTime first_ts, last_ts, next_ts;
@@ -216,13 +217,26 @@ do_pad_stats (GstPadStats * stats, guint elem_ix, guint size, guint64 ts,
stats->first_ts = ts;
stats->last_ts = ts;
/* flag stats */
+ if (buffer_flags & GST_BUFFER_FLAG_LIVE)
+ stats->num_live++;
+ if (buffer_flags & GST_BUFFER_FLAG_DECODE_ONLY)
+ stats->num_decode_only++;
+ if (buffer_flags & GST_BUFFER_FLAG_DISCONT)
+ stats->num_discont++;
+ if (buffer_flags & GST_BUFFER_FLAG_RESYNC)
+ stats->num_resync++;
+ if (buffer_flags & GST_BUFFER_FLAG_CORRUPTED)
+ stats->num_corrupted++;
+ if (buffer_flags & GST_BUFFER_FLAG_MARKER)
+ stats->num_marker++;
+ if (buffer_flags & GST_BUFFER_FLAG_HEADER)
+ stats->num_header++;
if (buffer_flags & GST_BUFFER_FLAG_GAP)
stats->num_gap++;
+ if (buffer_flags & GST_BUFFER_FLAG_DROPPABLE)
+ stats->num_droppable++;
if (buffer_flags & GST_BUFFER_FLAG_DELTA_UNIT)
stats->num_delta++;
- if (buffer_flags & GST_BUFFER_FLAG_DISCONT)
- stats->num_discont++;
- /* TODO(ensonic): there is a bunch of new flags in 1.0 */
/* update timestamps */
if (GST_CLOCK_TIME_IS_VALID (buffer_ts) &&
GST_CLOCK_TIME_IS_VALID (buffer_dur)) {
@@ -365,10 +379,13 @@ print_pad_stats (gpointer value, gpointer user_data)
g_snprintf (fullname, 30, "%s.%s", elem_stats->name, stats->name);
printf
- (" %c %-30.30s: buffers %7u (ro %5u,pre %3u,dis %5u,gap %5u,dlt %5u),",
- (stats->dir == GST_PAD_SRC) ? '>' : '<', fullname,
- stats->num_buffers, stats->num_readonly, stats->num_preroll,
- stats->num_discont, stats->num_gap, stats->num_delta);
+ (" %c %-30.30s: buffers %7u (live %5u,dec %5u,dis %5u,res %5u,"
+ "cor %5u,mar %5u,hdr %5u,gap %5u,drop %5u,dlt %5u),",
+ (stats->dir == GST_PAD_SRC) ? '>' : '<', fullname, stats->num_buffers,
+ stats->num_live, stats->num_decode_only, stats->num_discont,
+ stats->num_resync, stats->num_corrupted, stats->num_marker,
+ stats->num_header, stats->num_gap, stats->num_droppable,
+ stats->num_delta);
if (stats->min_size == stats->max_size) {
printf (" size (min/avg/max) ......./%7u/.......,", stats->avg_size);
} else {