<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><base href="x-msg://238/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple" style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="WordSection1" style="page: WordSection1; "><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(16, 57, 190); ">In other words, suppose only N+2 is delayed we would have:<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(16, 57, 190); ">N, N+1, ---delay 100ms --- N+2</span></div></div></div></blockquote><div><br></div>No. In this case - because there's no gap in RTP sequence number - each of these three packets is delivered immediately, when they arrive. There's no extra delay.</div><div><br></div><div><br><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple" style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="WordSection1" style="page: WordSection1; "><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(16, 57, 190); "><o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(16, 57, 190); "> </span><span style="color: rgb(16, 57, 190); font-family: Calibri, sans-serif; font-size: 11pt; ">But suppose N+2 and N+3 are delayed would we have? (Assuming that the threshold is expired)</span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(16, 57, 190); ">N, N+1, ---delay 100ms --- N+4<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(16, 57, 190); ">Or<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(16, 57, 190); ">N, N+1, ---delay 100ms---, ---delay 100ms---, N+4</span></div></div></div></blockquote><div><br></div>In this case the delay starts only after the arrival of packet N+4. In other words: Packets N and N+1 are delivered immediately, when they arrive. Then, after packet N+4 arrives, because there's a gap in the RTP sequence numbers, the code delays the delivery of packet N+4, to see if packets N+2 and/or N+3 arrive next. Specifically:</div><div>- If packet N+2 arrives before 100ms has elapsed, then it is delivered immediately, and the 100ms timer is reset.</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>- If packet N+3 then arrives next, before 100ms (after the arrival of packet N+2) has elapsed, then packet N+3 is also delivered immediately. Then packet N+4 is delivered next. In this case, there's no extra delay.</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>- If, however, 100ms (after the arrival of packet N+2) elapses without packet N+3 arriving, then packet N+4 is delivered instead - i.e., after a single delay of 100ms. (In this case, packet N+3 is never delivered, even if it happens to arrive afterwards.)</div><div>- If packet N+3 (but not packet N+2) arrives next, before 100ms (after the arrival of packet N+4) has elapsed, then the 100ms timer is reset.</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>- If packet N+2 then arrives, before 100ms (after the arrival of packet N+3) has elapsed, then packet N+2 is delivered immediately. Then packet N+3 is delivered next. Then packet N+4 is delivered next. In this case, there's no extra delay.</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>- If, however, 100ms (after the arrival of packet N+3) elapses without packet N+2 arriving, then packet N+3 is delivered instead - i.e., after a single delay of 100ms. Then packet N+4 is delivered next. (In this case, packet N+2 is never delivered, even if it happens to arrive afterwards.)</div><div>- If neither packet N+2 or N+3 arrives before 100 ms (after the arrival of packet N+4) has elapsed, then packet N+4 is delivered instead - i.e., after a single delay of 100ms. (In this case, packet N+2 and N+3 are never delivered, even if they happens to arrive afterwards.)</div><div><br></div><div>In other words, if there's only packet loss - but no packet reordering - in the network, then no incoming packet will ever be delayed more than 100ms before being delivered. If there's no packet loss (and no packet reordering), then no incoming packet will ever be delayed.</div><div><br></div><div>Once again, there is nothing here that you need concern yourself with. This will be my (and your) last posting on this topic.</div><br><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>