[Live-devel] Reordering packets issue.
BONNEAU Guy
Guy.Bonneau at miranda.com
Thu Apr 5 06:29:04 PDT 2012
Ross,
In file MultiFramedRTPSource.cpp the sequence number checking:
// Ignore this packet if its sequence number is less than the one
// that we're looking for (in this case, it's been excessively delayed).
if (seqNumLT(rtpSeqNo, fNextExpectedSeqNo)) return False;
has an issue that can causes packets to be rejected and thus freezing of the streaming for a long time. We have observed that sometime a streaming server can reset the streaming and restart with a new random sequence number. It could be caused for example by a failover stream protection that doesn't use the same RTP Sequence number. Or unplugging the network link for some time... The client that uses the live555 library sees a freeze of the streaming process that can last from a few ms to hours. This because the reordering process might begin to reject the packets depending of the new random sequence number chosen by the server. If the new random sequence number makes the check negative then the packets could be rejected for a time lasting from a few ms up to a few hours depending of the bitrate.
Some protection mechanism is needed to overcome this potential issue. On our side we have added code that detects this condition and reset the reordering process.
Thanks
Guy Bonneau
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20120405/ce9f3aba/attachment.html>
More information about the live-devel
mailing list