stats: use libosmocore rate counter for in/out_stream.err_ts_counter
The two counters: in_stream.err_ts_counter and out_stream.err_ts_counter
are still handcoded. To make them better accessible they should
be replaced with libosmocore rate counters.
- replace state.in_stream.err_ts_counter with libosmocore rate counter
- replace state.out_stream.err_ts_counter with libosmocore rate counter
Change-Id: I9fbd65bf2f4d1e015a05996db4c1f7ff20be2c95
Related: OS#2517
diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c
index f6c421a..67c5f66 100644
--- a/tests/mgcp/mgcp_test.c
+++ b/tests/mgcp/mgcp_test.c
@@ -1129,10 +1129,12 @@
uint32_t last_ssrc = 0;
uint32_t last_timestamp = 0;
uint32_t last_seqno = 0;
- int last_in_ts_err_cnt = 0;
- int last_out_ts_err_cnt = 0;
+ uint64_t last_in_ts_err_cnt = 0;
+ uint64_t last_out_ts_err_cnt = 0;
struct mgcp_conn_rtp *conn = NULL;
struct mgcp_conn *_conn = NULL;
+ struct rate_ctr test_ctr_in;
+ struct rate_ctr test_ctr_out;
printf("Testing packet error detection%s%s.\n",
patch_ssrc ? ", patch SSRC" : "",
@@ -1142,6 +1144,11 @@
memset(&endp, 0, sizeof(endp));
memset(&state, 0, sizeof(state));
+ memset(&test_ctr_in, 0, sizeof(test_ctr_in));
+ memset(&test_ctr_out, 0, sizeof(test_ctr_out));
+ state.in_stream.err_ts_ctr = &test_ctr_in;
+ state.out_stream.err_ts_ctr = &test_ctr_out;
+
endp.type = &ep_typeset.rtp;
trunk.vty_number_endpoints = 1;
@@ -1186,18 +1193,18 @@
state.in_stream.last_tsdelta, state.in_stream.last_seq);
printf("Out TS change: %d, dTS: %d, Seq change: %d, "
- "TS Err change: in %+d, out %+d\n",
+ "TS Err change: in +%u, out +%u\n",
state.out_stream.last_timestamp - last_timestamp,
state.out_stream.last_tsdelta,
state.out_stream.last_seq - last_seqno,
- state.in_stream.err_ts_counter - last_in_ts_err_cnt,
- state.out_stream.err_ts_counter - last_out_ts_err_cnt);
+ (unsigned int) (state.in_stream.err_ts_ctr->current - last_in_ts_err_cnt),
+ (unsigned int) (state.out_stream.err_ts_ctr->current - last_out_ts_err_cnt));
printf("Stats: Jitter = %u, Transit = %d\n",
calc_jitter(&state), state.stats.transit);
- last_in_ts_err_cnt = state.in_stream.err_ts_counter;
- last_out_ts_err_cnt = state.out_stream.err_ts_counter;
+ last_in_ts_err_cnt = state.in_stream.err_ts_ctr->current;
+ last_out_ts_err_cnt = state.out_stream.err_ts_ctr->current;
last_timestamp = state.out_stream.last_timestamp;
last_seqno = state.out_stream.last_seq;
}