diff --git a/libs/stfu/stfu.c b/libs/stfu/stfu.c index 9e5fcf3b22..a4c3bb78d3 100644 --- a/libs/stfu/stfu.c +++ b/libs/stfu/stfu.c @@ -76,6 +76,7 @@ struct stfu_instance { uint32_t miss_count; uint32_t max_plc; uint32_t qlen; + uint32_t most_qlen; uint32_t max_qlen; uint32_t orig_qlen; uint32_t packet_count; @@ -136,6 +137,11 @@ int32_t stfu_n_get_drift(stfu_instance_t *i) return i->ts_drift; } +int32_t stfu_n_get_most_qlen(stfu_instance_t *i) +{ + return i->most_qlen; +} + void stfu_global_set_logger(stfu_logger_t logger) { if (logger) { @@ -253,6 +259,10 @@ stfu_status_t stfu_n_resize(stfu_instance_t *i, uint32_t qlen) s = stfu_n_resize_aqueue(&i->b_queue, qlen); s = stfu_n_resize_aqueue(&i->c_queue, qlen); + if (qlen > i->most_qlen) { + i->most_qlen = qlen; + } + i->qlen = qlen; i->max_plc = 5; i->last_frame = NULL; diff --git a/libs/stfu/stfu.h b/libs/stfu/stfu.h index d8fbf447af..b802bbaef6 100644 --- a/libs/stfu/stfu.h +++ b/libs/stfu/stfu.h @@ -188,6 +188,7 @@ stfu_status_t stfu_n_sync(stfu_instance_t *i, uint32_t packets); void stfu_n_call_me(stfu_instance_t *i, stfu_n_call_me_t callback, void *udata); void stfu_n_debug(stfu_instance_t *i, const char *name); int32_t stfu_n_get_drift(stfu_instance_t *i); +int32_t stfu_n_get_most_qlen(stfu_instance_t *i); #define stfu_im_done(i) stfu_n_add_data(i, 0, NULL, 0, 0, 1) #define stfu_n_eat(i,t,p,d,l,tt) stfu_n_add_data(i, t, p, d, l, tt, 0)