<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jul 15, 2015, at 9:13 PM, Erik Oomen <<a href="mailto:erik.oomen@zepcam.com" class="">erik.oomen@zepcam.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I’m using live555 to stream H264+PCMU audio between two servers (both are bare Linux 64bit under my control).  Due to firewall reasons I have chosen to use TCP. The sending server has 100Mbit FD, the receiver has 20Mbit FD bandwidth, 8 hops between them and average 9msec RTT.<br class=""><br class="">For some reason the sender will stop sending because the sendDataOverTCP is seeing EAGAIN on a regular basis (every minute more or less).  Perhaps due to congestion, a saturated line or something like that</div></div></blockquote><div><br class=""></div>Yes, you are exceeding the capacity of your network - likely because of the firewall(s) that are inbetween the server and client.  (Note, BTW, that the "capacity of your network” - especially for TCP connections - usually has little to do with the nominal bitrate of the network interfaces at each end.)</div><div><br class=""></div><div><br class=""></div><div><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">My question:  What is the reason to not use ‘forceSendToSucceed’ for the framingHeader in sendRTPorRTCPPacketOverTCP?</div></div></blockquote><div><br class=""></div>Because this would cause the server to block for an unpredictable (and possibly significant) length of time, which would prevent the server from being able to doing anything else (like serving stream to other client(s)) in the meantime.  That’s why we do blocking packet sends only when we really need to - i.e., after we’ve already successfully written the framing header.</div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">  Because, this is causing my stream to stop.<br class=""></div></div></blockquote><div><br class=""></div>No, it’s not causing your stream to ‘stop’.  It’s possibly causing some of your RTP datagrams to not get transmitted - which is reasonable and appropriate when your network is congested.  (Note that you’re still streaming datagrams, even though you’re framing them over a TCP connection.)</div><div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class="">Changing the forceSendToSucceed in first  sendDataOverTCP in RTPInterface::sendRTPorRTCPPacketOverTCP fixes my problem<br class=""></div></div></blockquote><div><br class=""></div>No, it doesn’t (unless you’re planning on only ever streaming one stream at a time from this server, and possibly not even then).  In any case, if you modify the supplied code, you can expect no support on this mailing list.</div><br class=""><div apple-content-edited="true" class="">
<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;  "><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;  ">Ross Finlayson<br class="">Live Networks, Inc.<br class=""><a href="http://www.live555.com/" class="">http://www.live555.com/</a></span></span>
</div><div class=""><br class="webkit-block-placeholder"></div>
<br class=""></body></html>