<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Ross,<br>
<br>
In file MultiFramedRTPSource.cpp the sequence number checking:<br>
<br>
// Ignore this packet if its sequence number is less than the one<br>
// that we're looking for (in this case, it's been excessively delayed).<br>
if (seqNumLT(rtpSeqNo, fNextExpectedSeqNo)) return False;<br>
<br>
has </span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:#1F497D">an issue</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> that can cause</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:#1F497D">s</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">
 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
</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:#1F497D">stream</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> protection that doesn't use the same RTP Sequence number. Or unplugging the network
 link for some time... The client </span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:#1F497D">that
</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">us</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:#1F497D">es</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">
 the live555 library sees a freeze of the streaming</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:#1F497D"> process</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> 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
</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:#1F497D">check</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> negative then the packets could be rejected for a time lasting from a few ms up to
 a few hours depending of the bitrate. <br>
<br>
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.<br>
<br>
Thanks<br>
Guy Bonneau<o:p></o:p></span></p>
</div>
</body>
</html>