<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Re: [Live-devel] Packet loss in case of high bit rate mpeg</TITLE>

<STYLE type=text/css>BLOCKQUOTE {
        PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
DL {
        PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
UL {
        PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
OL {
        PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
LI {
        PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
</STYLE>

<META content="MSHTML 6.00.6000.16544" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=968241509-12102007>Hi 
Ross,</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=968241509-12102007></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=968241509-12102007>Thanks 
for the suggestion .By doing the changes in the codebase&nbsp;mentioned 
by&nbsp;you ,RTSP Server could able to stream high bit rate streams without any 
packet loss.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=968241509-12102007></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=968241509-12102007></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=968241509-12102007>Thanks 
and Regards</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=968241509-12102007>Nitin</SPAN></FONT></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Original Message-----<BR><B>From:</B> 
  live-devel-bounces@ns.live555.com 
  [mailto:live-devel-bounces@ns.live555.com]<B>On Behalf Of </B>Ross 
  Finlayson<BR><B>Sent:</B> Thursday, October 11, 2007 8:04 PM<BR><B>To:</B> 
  LIVE555 Streaming Media - development &amp; use<BR><B>Subject:</B> Re: 
  [Live-devel] Packet loss in case of high bit rate mpeg4 
  streams<BR><BR></FONT></DIV>
  <DIV>As you've noted/realized, any packet loss - other than network packet 
  loss - that occurs in a system that uses our code *must* be the fault of 
  insufficient buffering inside the OS.&nbsp; I.e., this is an OS problem, and 
  any fix/workaround needs to address this.</DIV>
  <DIV><BR></DIV>
  <DIV>Unfortunately there is no good way for our code to handle a failed 
  network write (i.e., no good way to 'retry' the write later).&nbsp; Instead, 
  we'll need to set things up to ensure (with high probability) that network 
  writes do not fail.&nbsp; Note also that we can't try to avoid these write 
  failures by making network sockets blocking.&nbsp; The calls to 
  "makeSocketNonBlocking()" are there for a good reason (e.g., to overcome the 
  problem that Marc Neuberger noted in &lt;<FONT face="Lucida Grande" 
  color=#000000 
  size=-4>http://lists.live555.com/pipermail/live-devel/2007-June/006890.html</FONT>&gt;), 
  so removing those calls is *not* an acceptable solution.</DIV>
  <DIV><BR></DIV>
  <DIV>The simplest solution, it seems, is simply to make sure that there is 
  reasonable buffering inside the OS on writeable sockets.&nbsp; To do this, 
  add</DIV>
  <DIV><X-TAB>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  </X-TAB>increaseSendBufferTo(envir(), clientSocket, 50*1024);</DIV>
  <DIV>after the call to "makeSocketNonBlocking()" on line 235 of 
  "liveMedia/RTSPServer.cpp".</DIV>
  <DIV><BR></DIV>
  <DIV>Similarly, add</DIV>
  <DIV><X-TAB>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  </X-TAB>increaseSendBufferTo(envir(), fGS-&gt;socketNum(), 50*1024);</DIV>
  <DIV>after the call to "makeSocketNonBlocking()" on line 101 of 
  "liveMedia/RTPInterface.cpp".</DIV>
  <DIV><BR></DIV>
  <DIV>These additions will be made to the next release of the 
  code.</DIV><X-SIGSEP><PRE>-- 
</PRE></X-SIGSEP>
  <DIV><BR>Ross Finlayson<BR>Live Networks, 
Inc.<BR>http://www.live555.com/</DIV></BLOCKQUOTE></BODY></HTML>