[Live-devel] live555 taskSchedule thread was hung

Ross Finlayson finlayson at live555.com
Tue Jun 25 17:32:33 PDT 2013


The existing code is correct.  The reason for this code is to ensure that sending a (RTP or RTCP) packet over a TCP connection - which involves two separate writes: one for a header; another for the packet data itself - occurs as an atomic operation.  I.e., we want either neither of the writes to succeed, or both of them to succeed.  If the write of the header were to succeed, but the subsequent write of the packet data were to fail, then you'd end up with invalid data being sent (and thus received) over the TCP connection.

Your write operation is blocking because your stream is - at least temporarily - exceeding the capacity of your network.  To avoid this, you need a slower stream, or a faster network.

A reminder - yet again - that RTP/RTCP-over-TCP should be used *only* if you have a firewall that is blocking UDP packets.

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130625/8430ffe0/attachment.html>


More information about the live-devel mailing list