laforge has submitted this change. (
https://gerrit.osmocom.org/c/libosmo-abis/+/38129?usp=email )
Change subject: trau_frame: fix de/encoding of HR-data-8k frames
......................................................................
trau_frame: fix de/encoding of HR-data-8k frames
Functions for decoding and encoding HR-data TRAU frames in 8 kbit/s
submultiplexing, accessible via osmo_trau_frame_encode() and
osmo_trau_frame_decode_8k() public APIs, were broken: movement
of data bits was wrong, and in the encoding direction the setting
of the last sync bit was missed.
Change-Id: I051b0b70adffcc473dcbb42a555c19088973cc90
---
M src/trau/trau_frame.c
1 file changed, 9 insertions(+), 7 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/src/trau/trau_frame.c b/src/trau/trau_frame.c
index 98e26da..509021d 100644
--- a/src/trau/trau_frame.c
+++ b/src/trau/trau_frame.c
@@ -1110,12 +1110,13 @@
d_idx += 2;
/* D3 .. D8 */
memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 2, 6);
- /* D9 .. D57 + D'1 .. D'57 */
- for (i = 3; i < 20; i++) {
+ d_idx += 6;
+ /* D9 .. D63 + D'1 .. D'57 */
+ for (i = 3; i < 19; i++) {
memcpy(fr->d_bits + d_idx, trau_bits + i * 8 + 1, 7);
d_idx += 7;
}
- /* D'58 .. D'62 */
+ /* D'58 .. D'63 */
memcpy(fr->d_bits + d_idx, trau_bits + 19 * 8 + 1, 6);
d_idx += 6;
@@ -1132,7 +1133,7 @@
trau_bits[1 * 8] = 1;
trau_bits[2 * 8] = 0;
trau_bits[2 * 8 + 1] = 1;
- for (i = 3; i < 19; i++)
+ for (i = 3; i < 20; i++)
trau_bits[i * 8] = 1;
trau_bits[19 * 8 + 7] = 1;
@@ -1143,12 +1144,13 @@
d_idx += 2;
/* D3 .. D8 */
memcpy(trau_bits + 2 * 8 + 2, fr->d_bits + d_idx, 6);
- /* D9 .. D57 + D'1 .. D'57 */
- for (i = 3; i < 20; i++) {
+ d_idx += 6;
+ /* D9 .. D63 + D'1 .. D'57 */
+ for (i = 3; i < 19; i++) {
memcpy(trau_bits + i * 8 + 1, fr->d_bits + d_idx, 7);
d_idx += 7;
}
- /* D'58 .. D'62 */
+ /* D'58 .. D'63 */
memcpy(trau_bits + 19 * 8 + 1, fr->d_bits + d_idx, 6);
d_idx += 6;
--
To view, visit
https://gerrit.osmocom.org/c/libosmo-abis/+/38129?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I051b0b70adffcc473dcbb42a555c19088973cc90
Gerrit-Change-Number: 38129
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>