<!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> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=968241509-12102007>Thanks
for the suggestion .By doing the changes in the codebase mentioned
by 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> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=968241509-12102007></SPAN></FONT> </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 & 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. 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). Instead,
we'll need to set things up to ensure (with high probability) that network
writes do not fail. Note also that we can't try to avoid these write
failures by making network sockets blocking. The calls to
"makeSocketNonBlocking()" are there for a good reason (e.g., to overcome the
problem that Marc Neuberger noted in <<FONT face="Lucida Grande"
color=#000000
size=-4>http://lists.live555.com/pipermail/live-devel/2007-June/006890.html</FONT>>),
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. To do this,
add</DIV>
<DIV><X-TAB>
</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>
</X-TAB>increaseSendBufferTo(envir(), fGS->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>