fixeria has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/33703 )

Change subject: osmo-bts-trx: pull the AMR header in tch_dl_dequeue()
......................................................................

osmo-bts-trx: pull the AMR header in tch_dl_dequeue()

The goal is to unify encoding functions in tx_tch[fh]_fn(), so that
in a follow-up change adding CSD we could use a switch statement.

Change-Id: I15318e497b236128f779769e4fa99f307ea431ea
Related: OS#1572
---
M src/osmo-bts-trx/sched_lchan_tchf.c
M src/osmo-bts-trx/sched_lchan_tchh.c
2 files changed, 30 insertions(+), 12 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  pespin: Looks good to me, but someone else must approve
  Jenkins Builder: Verified
  fixeria: Looks good to me, approved




diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c 
b/src/osmo-bts-trx/sched_lchan_tchf.c
index b8f8322..444cda2 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -402,6 +402,9 @@
                                LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, 
"Transmitting 'bad AMR frame'\n");
                                goto free_bad_msg;
                        }
+                       /* pull the AMR header, it's not being sent over Um */
+                       msg_tch->l2h += sizeof(struct amr_hdr);
+                       len -= sizeof(struct amr_hdr);
                        break;
                default:
 inval_mode2:
@@ -490,12 +493,13 @@
                /* the first FN 4,13,21 defines that CMI is included in frame,
                 * the first FN 0,8,17 defines that CMR is included in frame.
                 */
-               gsm0503_tch_afs_encode(bursts_p, msg->l2h + sizeof(struct 
amr_hdr),
-                       msgb_l2len(msg) - sizeof(struct amr_hdr),
-                       !sched_tchf_dl_amr_cmi_map[br->fn % 26],
-                       chan_state->codec, chan_state->codecs,
-                       chan_state->dl_ft,
-                       chan_state->dl_cmr);
+               gsm0503_tch_afs_encode(bursts_p,
+                                      msgb_l2(msg), msgb_l2len(msg),
+                                      !sched_tchf_dl_amr_cmi_map[br->fn % 26],
+                                      chan_state->codec,
+                                      chan_state->codecs,
+                                      chan_state->dl_ft,
+                                      chan_state->dl_cmr);
        } else {
                gsm0503_tch_fr_encode(bursts_p, msg->l2h, msgb_l2len(msg), 1);
        }
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c 
b/src/osmo-bts-trx/sched_lchan_tchh.c
index 97b8582..541feab 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -412,12 +412,13 @@
                /* the first FN 4,13,21 or 5,14,22 defines that CMI is included
                 * in frame, the first FN 0,8,17 or 1,9,18 defines that CMR is
                 * included in frame. */
-               gsm0503_tch_ahs_encode(bursts_p, msg->l2h + sizeof(struct 
amr_hdr),
-                       msgb_l2len(msg) - sizeof(struct amr_hdr),
-                       !sched_tchh_dl_amr_cmi_map[br->fn % 26],
-                       chan_state->codec, chan_state->codecs,
-                       chan_state->dl_ft,
-                       chan_state->dl_cmr);
+               gsm0503_tch_ahs_encode(bursts_p,
+                                      msgb_l2(msg), msgb_l2len(msg),
+                                      !sched_tchh_dl_amr_cmi_map[br->fn % 26],
+                                      chan_state->codec,
+                                      chan_state->codecs,
+                                      chan_state->dl_ft,
+                                      chan_state->dl_cmr);
        } else {
                gsm0503_tch_hr_encode(bursts_p, msg->l2h, msgb_l2len(msg));
        }

--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/33703
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I15318e497b236128f779769e4fa99f307ea431ea
Gerrit-Change-Number: 33703
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to