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
pull/1870/head
Richard Fuchs 1 year ago
parent
commit
84b2d2c30e
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