[Live-devel] Live555 send packets over TCP issue on Windows

Nikitin, Alexey alnikit at mera.ru
Thu May 25 08:59:36 PDT 2017


But why the older version of live555 compiled in VS2010 I mention in original mail working without issues on the same environment?

Unfortunately there are no sources config files left, only binaries. I can't check these binaries with new VS2013 solution by obvious reasons, but old VS2010 solution works fine.

Best regards,
Alexey Nikitin
----------
MERA NN


-----Original Message-----
From: live-devel [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
Sent: Thursday, May 25, 2017 6:37 PM
To: LIVE555 Streaming Media - development & use <live-devel at ns.live555.com>
Subject: Re: [Live-devel] Live555 send packets over TCP issue on Windows

The “EAGAIN"s occur when the sending OS's TCP buffer is full - which occurs if the stream's bitrate exceeds (at least temporarily) the capacity of the TCP connection.  (When this happens, the only solution is to discard outgoing data.  Our code does so by ensuring that if/when data gets discarded, the discarded data will be a complete RTP (or RTCP) packet - equivalent to the loss of a packet if you were streaming over UDP.)

It’s important for everyone to understand that streaming over TCP is something that should be done *only* if you are behind a firewall that blocks UDP packets.  Streaming over TCP is not a 'magic wand' that will avoid all data loss, no matter what the bitrate of your stream and the capacity of your network.  Unless there is a TCP-blocking firewall between your server and client, you should do regular RTP/RTCP-over-UDP streaming instead.

You note, however, that you are seeing this issue only on Windows - not on MacOS.  This suggests that - in your case - the problem is that your stream’s bitrate is exceeding the capacity of your TCP connection only temporarily, and that increased buffering for TCP (inside your OS kernel) should overcome this.

I.e., your solution is to (somehow) tune your Windows OS kernel to increase the memory buffering that it uses for TCP.  This is something that you would (somehow) do specifically with Windows.  It should not, I think, require any changes to the way that you build the LIVE555 code (and certainly not any changes to the LIVE555 code itself).


Ross Finlayson
Live Networks, Inc.
https://urldefense.proofpoint.com/v2/url?u=http-3A__www.live555.com_&d=DwIGaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=kn-utWNGnfBa13QRxokdpzIXgU2VB9KBpYO0GHGA7yU&m=UiLJf_rgrAzostY6liaigEWUfVWOww2VI_Vv4NlmLm0&s=uVKRPonm2RVar3LSY0i_mWzoeoaIdRBkjegpx-szPuY&e= 


_______________________________________________
live-devel mailing list
live-devel at lists.live555.com
https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.live555.com_mailman_listinfo_live-2Ddevel&d=DwIGaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=kn-utWNGnfBa13QRxokdpzIXgU2VB9KBpYO0GHGA7yU&m=UiLJf_rgrAzostY6liaigEWUfVWOww2VI_Vv4NlmLm0&s=rkkQ544QHAt-iFj3F9u7JG9rHx8mmGqgw3jo6P-UJFo&e= 



More information about the live-devel mailing list