First, I want to apologize for bringing up this list's favorite topics, Windows 
Server and JPEG streaming. =)

Using the latest (10.24.2012) Live555, I was having an odd issue streaming JPEG 
over TCP from any Windows Server 2003 box, even a Server 2003 VM running on the 
same machine.  I would only get a frame once in a while...sometimes none.  UDP 
always streamed great.  I tested from many Windows Server 2008 boxes and TCP 
_and_ UDP worked great also.

I tried fiddling with the RTSPServer's socket send buffer (increaseSendBufferTo 
2MB) and it had no effect.  After more fiddling with Live555 code, I landed in 
the RTPInterface::sendRTPorRTCPPacketOverTCP method and found that the first 
call to RTPInterface::sendDataOverTCP that sends the framingHeader was failing, 
returning an EAGAIN in the envir().getErrno().  This caused it to never execute 
the second call to sendDataOverTCP which sends out the packet.

Changing the first call that sends out the framingHeader to sendDataOverTCP to 
set the forceSendToSucceed parameter to "True" instead of "False" fixed the 
problem on my Windows Server 2003 boxes and it now streams great via TCP.

if (!sendDataOverTCP(socketNum, framingHeader, 4, True)) break;


I don't like the idea of modifying the Live555 code and I don't like changing 
things that were coded a certain way for a reason.  I was wondering what the 
side effects may be and  I was hoping someone may have any idea of what is 
going wrong (besides using Windows hehe) and if there was a better way to fix 
this.

Thanks for any help!

-Jeremiah Morrill

_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to