diff options
author | Max <msuraev@sysmocom.de> | 2016-06-23 17:59:51 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-06-23 20:01:02 +0000 |
commit | c03d3ae7af27edc035316f9d21aab5437f934b07 (patch) | |
tree | 8c5d9f2629b8a7c7eb766a6a270779973766b0d6 /src/osmo-bts-sysmo/tch.c | |
parent | 5c0d88e69d16426d8e7af5bf4b7866aa33132064 (diff) |
DTXu: move copy-pasted code to common part
Abstract code for checking/setting lchan's UL SID flag and RTP Marker
into generic function and use it for LC15 and sysmoBTS.
Change-Id: Ica5392e92bab29164711163e7b01adb174272883
Related: OS#1750
Diffstat (limited to 'src/osmo-bts-sysmo/tch.c')
-rw-r--r-- | src/osmo-bts-sysmo/tch.c | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/src/osmo-bts-sysmo/tch.c b/src/osmo-bts-sysmo/tch.c index 17469f00..527f9e16 100644 --- a/src/osmo-bts-sysmo/tch.c +++ b/src/osmo-bts-sysmo/tch.c @@ -118,12 +118,7 @@ static struct msgb *l1_to_rtppayload_fr(uint8_t *l1_payload, uint8_t payload_len cur[0] |= 0xD0; #endif /* USE_L1_RTP_MODE */ - if (osmo_fr_check_sid(l1_payload, payload_len)) - lchan->tch.ul_sid = true; - else if (lchan->tch.ul_sid) { - lchan->tch.ul_sid = false; - lchan->rtp_tx_marker = true; - } + lchan_set_marker(osmo_fr_check_sid(l1_payload, payload_len), lchan); return msg; } @@ -182,12 +177,8 @@ static struct msgb *l1_to_rtppayload_efr(uint8_t *l1_payload, uint8_t cmr; int8_t sti, cmi; osmo_amr_rtp_dec(l1_payload, payload_len, &cmr, &cmi, &ft, &bfi, &sti); - if (ft == AMR_GSM_EFR_SID) - lchan->tch.ul_sid = true; - else if (lchan->tch.ul_sid) { - lchan->tch.ul_sid = false; - lchan->rtp_tx_marker = true; - } + lchan_set_marker(ft == AMR_GSM_EFR_SID, lchan); + return msg; } @@ -230,12 +221,7 @@ static struct msgb *l1_to_rtppayload_hr(uint8_t *l1_payload, uint8_t payload_len osmo_revbytebits_buf(cur, GSM_HR_BYTES); #endif /* USE_L1_RTP_MODE */ - if (osmo_hr_check_sid(l1_payload, payload_len)) - lchan->tch.ul_sid = true; - else if (lchan->tch.ul_sid) { - lchan->tch.ul_sid = false; - lchan->rtp_tx_marker = true; - } + lchan_set_marker(osmo_hr_check_sid(l1_payload, payload_len), lchan); return msg; } |