<br>Hello,<br><br>I'm trying to investigate streaming performance when an 8-bit RTP sequence number is used.<br><br>After sequence number 255 is first reached, the sequence number does wrap round to zero as expected, but all packets thereafter are incorrectly detected as lost.<br>
<br>These are some of the modifications I made in RTPSource.cpp:<br><br>void RTPReceptionStats<br>::noteIncomingPacket(u_int8_t seqNum, ....) {<br><br>......<br><br> // Check whether the new sequence number is the highest yet seen:<br>
unsigned oldSeqNum = (fHighestExtSeqNumReceived&0xFF);<br> if (seqNumLT((u_int8_t)oldSeqNum, seqNum)) {<br> // This packet was not an old packet received out of order, so check it:<br> unsigned seqNumCycle = (fHighestExtSeqNumReceived&0xFF00);<br>
unsigned seqNumDifference = (unsigned)((int)seqNum-(int)oldSeqNum);<br> if (seqNumDifference >= 0x80) {<br> // The sequence number wrapped around, so start a new cycle:<br> seqNumCycle += 0x100;<br><br>
.........<br><br>}<br><br>but I still get this sort of QoS statistics:<br><br>Started playing session<br>Receiving streamed data (for up to 60.000000 seconds)...<br>begin_QOS_statistics<br>server_availability 100<br>stream_availability 100<br>
subsession video/MPV<br>num_packets_received 22470<br><i><b>num_packets_lost 4294944950</b></i><br>elapsed_measurement_time 60.004700<br>kBytes_received_total 22560.912000<br>measurement_sampling_interval_ms 1000<br>
kbits_per_second_min 2757.835416<br>kbits_per_second_ave 3007.885982<br>kbits_per_second_max 3166.214214<br><i><b>packet_loss_percentage_min -109.677419</b></i><br>packet_loss_percentage_ave 0.000000<br>packet_loss_percentage_max 0.000000<br>
inter_packet_gap_ms_min 0.004000<br>inter_packet_gap_ms_ave 2.668810<br>inter_packet_gap_ms_max 78.687000<br>subsession audio/MPA<br>num_packets_received 1241<br><i><b>num_packets_lost 4294966235</b></i><br>
elapsed_measurement_time 60.004700<br>kBytes_received_total 1434.596000<br>measurement_sampling_interval_ms 1000<br>kbits_per_second_min 101.252014<br>kbits_per_second_ave 191.264484<br>kbits_per_second_max 204.068205<br>
<b><i>packet_loss_percentage_min -566.666667</i></b><br>packet_loss_percentage_ave 0.000000<br>packet_loss_percentage_max 0.000000<br>inter_packet_gap_ms_min 0.013000<br>inter_packet_gap_ms_ave 48.322089<br>
inter_packet_gap_ms_max 685.016000<br>end_QOS_statistics<br><br> <br>How can I achieve wraparound at sequence number 255 without mis-detection thereafter as lost packets?<br><br>Thanks,<br>Josephine<br><br>