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)
(cherry picked from commit cdb3612b9d)
mr12.5.1
Richard Fuchs 1 year ago
parent
commit
da6b6ae4fc
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