Browse Source

MT#55283 fix ext_seq math booboo

Fix the math in the sequencer code to determine ROC and extended
sequence number. This has become significant as the sequence numbers are
written into shared memory space.

Change-Id: I9e519a29a3822d02f7c389920ee0909b48828525
(cherry picked from commit 84b2d2c30e)
mr12.5
Richard Fuchs 1 year ago
parent
commit
cdb3612b9d
1 changed files with 5 additions and 2 deletions
  1. +5
    -2
      lib/codeclib.c

+ 5
- 2
lib/codeclib.c View File

@ -1756,9 +1756,12 @@ out:
g_tree_steal(ps->packets, GINT_TO_POINTER(packet->seq));
ps->seq = (packet->seq + 1) & 0xffff;
if (packet->seq < ps->ext_seq)
unsigned int ext_seq = ps->roc << 16 | packet->seq;
while (ext_seq < ps->ext_seq) {
ps->roc++;
ps->ext_seq = ps->roc << 16 | packet->seq;
ext_seq += 0x10000;
}
ps->ext_seq = ext_seq;
return packet;
}


Loading…
Cancel
Save