osmux: Fix unwanted RTP marker bit upon rx of osmux seqnum wrap around

The wrap around case was not properly considered in the condition
setting the Marker bit. Let's fix it.

Related: SYS#5987
Change-Id: I6e01f29a6239f930c9be2bcb2efe447e5de8fedf
This commit is contained in:
Pau Espin 2022-09-28 19:01:53 +02:00
parent dc4e8747e9
commit de68bc9065
2 changed files with 2 additions and 2 deletions

View File

@ -156,7 +156,7 @@ osmux_rebuild_rtp(struct osmux_out_handle *h, struct osmux_hdr *osmuxh,
* steady increase of delay
*/
rtph->marker = first_pkt &&
(osmuxh->rtp_m || (osmuxh->seq != h->osmux_seq_ack + 1));
(osmuxh->rtp_m || (osmuxh->seq != ((h->osmux_seq_ack + 1) & 0xff)));
msgb_put(out_msg, sizeof(struct rtp_hdr));

View File

@ -108,7 +108,7 @@ sys={0.040000}, mono={0.040000}: dequeue: seq=61 ts=2260 enqueued=0
===test_output_seqnum_wraparound===
sys={0.000000}, mono={0.000000}: clock_override_set
sys={0.000000}, mono={0.000000}: Sending osmux frame with seqnum=0
sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 M enqueued=5
sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 enqueued=5
sys={0.040000}, mono={0.040000}: clock_override_add
sys={0.040000}, mono={0.040000}: dequeue: seq=51 ts=660 enqueued=4
sys={0.040000}, mono={0.040000}: dequeue: seq=52 ts=820 enqueued=3