aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-09-15 18:49:47 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-09-15 18:49:47 +0200
commitfb51539951c3e2e49497ad35c5032647dd924fd6 (patch)
treef656bd090657638f059b69289395f4803ec70366
parent7b311ba8068dbf889535ccbedc3ea3131905abd5 (diff)
mgcp: Change order and types of varriables to follow the Annex
-rw-r--r--openbsc/include/openbsc/mgcp_internal.h15
-rw-r--r--openbsc/src/libmgcp/mgcp_network.c10
-rw-r--r--openbsc/tests/mgcp/mgcp_test.c2
3 files changed, 16 insertions, 11 deletions
diff --git a/openbsc/include/openbsc/mgcp_internal.h b/openbsc/include/openbsc/mgcp_internal.h
index 076fa4a4b..45826300e 100644
--- a/openbsc/include/openbsc/mgcp_internal.h
+++ b/openbsc/include/openbsc/mgcp_internal.h
@@ -66,13 +66,18 @@ struct mgcp_rtp_state {
/* jitter and packet loss calculation */
int stats_initialized;
- uint16_t stats_base_seq;
- uint16_t stats_max_seq;
uint32_t stats_ssrc;
- uint32_t stats_jitter;
+
+ uint16_t stats_max_seq;
+ uint32_t stats_cycles;
+ uint32_t stats_base_seq;
+ /* uint32_t stats_bad_seq; no probation */
+ /* uint32_t probation */
+ uint32_t stats_received;
+ /* uint32_t expected_prior no SenderReport */
+ /* uint32_t received_prior no SenderReport */
int32_t stats_transit;
- int stats_cycles;
- unsigned int stats_packets;
+ uint32_t stats_jitter;
};
struct mgcp_rtp_codec {
diff --git a/openbsc/src/libmgcp/mgcp_network.c b/openbsc/src/libmgcp/mgcp_network.c
index 4652be579..3b84142e1 100644
--- a/openbsc/src/libmgcp/mgcp_network.c
+++ b/openbsc/src/libmgcp/mgcp_network.c
@@ -350,7 +350,7 @@ void mgcp_rtp_annex_count(struct mgcp_endpoint *endp, struct mgcp_rtp_state *sta
state->stats_jitter = 0;
state->stats_transit = transit;
state->stats_cycles = 0;
- state->stats_packets = 0;
+ state->stats_received = 0;
} else {
uint16_t udelta;
@@ -706,7 +706,7 @@ static int rtp_data_net(struct osmo_fd *fd, unsigned int what)
}
proto = fd == &endp->net_end.rtp ? MGCP_PROTO_RTP : MGCP_PROTO_RTCP;
- endp->net_state.stats_packets += 1;
+ endp->net_state.stats_received += 1;
endp->net_end.packets += 1;
endp->net_end.octets += rc;
@@ -799,7 +799,7 @@ static int rtp_data_bts(struct osmo_fd *fd, unsigned int what)
}
/* do this before the loop handling */
- endp->bts_state.stats_packets += 1;
+ endp->bts_state.stats_received += 1;
endp->bts_end.packets += 1;
endp->bts_end.octets += rc;
@@ -1044,8 +1044,8 @@ void mgcp_state_calc_loss(struct mgcp_rtp_state *state,
* Make sure the sign is correct and use the biggest
* positive/negative number that fits.
*/
- *loss = *expected - state->stats_packets;
- if (*expected < state->stats_packets) {
+ *loss = *expected - state->stats_received;
+ if (*expected < state->stats_received) {
if (*loss > 0)
*loss = INT_MIN;
} else {
diff --git a/openbsc/tests/mgcp/mgcp_test.c b/openbsc/tests/mgcp/mgcp_test.c
index 3a5702b7b..88ad9148b 100644
--- a/openbsc/tests/mgcp/mgcp_test.c
+++ b/openbsc/tests/mgcp/mgcp_test.c
@@ -753,7 +753,7 @@ static void test_packet_loss_calc(void)
state.stats_max_seq = pl_test_dat[i].max_seq;
state.stats_cycles = pl_test_dat[i].cycles;
- state.stats_packets = pl_test_dat[i].packets;
+ state.stats_received = pl_test_dat[i].packets;
mgcp_state_calc_loss(&state, &expected, &loss);
if (loss != pl_test_dat[i].loss || expected != pl_test_dat[i].expected) {