diff options
author | Max <msuraev@sysmocom.de> | 2016-09-27 19:47:08 +0200 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2016-09-30 18:57:00 +0200 |
commit | 9959f45d90166331dc8196c603184888bbe7f1e8 (patch) | |
tree | 1816bbd0edc32cceda96001e6d64d192dd838691 /include | |
parent | 7dffd553df0ca48f52d6faca70aa3e9cf2760840 (diff) |
DTX: further AMR SID cache fixes (lc15, sysmo)
* consolidate AMR CMR and CMI handling in common/amr.c
* use it in save_last_sid()
* remove dead code
* properly compute RTP payload length for AMR
* use save_last_sid() for FR & HR as well
* invalidate cached SID if SPEECH frame is received
Fixes: OS #1800, #1801
Change-Id: I5a1c1ad0b0a295a50e67775a4db85f1d331755ed
Diffstat (limited to 'include')
-rw-r--r-- | include/osmo-bts/amr.h | 3 | ||||
-rw-r--r-- | include/osmo-bts/msg_utils.h | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/include/osmo-bts/amr.h b/include/osmo-bts/amr.h index 6bdc41fc..f3132874 100644 --- a/include/osmo-bts/amr.h +++ b/include/osmo-bts/amr.h @@ -11,7 +11,8 @@ void amr_log_mr_conf(int ss, int logl, const char *pfx, int amr_parse_mr_conf(struct amr_multirate_conf *amr_mrc, const uint8_t *mr_conf, unsigned int len); -int get_amr_mode_idx(const struct amr_multirate_conf *amr_mrc, uint8_t cmi); +void amr_set_mode_pref(uint8_t *data, const struct amr_multirate_conf *amr_mrc, + uint8_t cmi, uint8_t cmr); unsigned int amr_get_initial_mode(struct gsm_lchan *lchan); #endif /* _OSMO_BTS_AMR_H */ diff --git a/include/osmo-bts/msg_utils.h b/include/osmo-bts/msg_utils.h index 14c23205..f07623d5 100644 --- a/include/osmo-bts/msg_utils.h +++ b/include/osmo-bts/msg_utils.h @@ -26,8 +26,9 @@ enum { }; void lchan_set_marker(bool t, struct gsm_lchan *lchan); -void save_last_sid(struct gsm_lchan *lchan, uint8_t *l1_payload, size_t length, - uint32_t fn, bool update); +void save_last_sid(struct gsm_lchan *lchan, const uint8_t *l1_payload, + size_t length, uint32_t fn, int update, uint8_t cmr, + int8_t cmi); uint8_t repeat_last_sid(struct gsm_lchan *lchan, uint8_t *dst, uint32_t fn); int msg_verify_ipa_structure(struct msgb *msg); int msg_verify_oml_structure(struct msgb *msg); |