[Live-devel] New LIVE555 release - fixes a problem with

Kamil Dobkowski kamildobk at poczta.onet.pl
Mon Jul 12 05:49:27 PDT 2010


Hi,

I've played a bit with LiveMedia sources. I was able to improve TCP stream 
handling by checking network calls results against EWOULDBLOCK in two places 
:

GroupsockHelper.cpp, readSocket(), line 243:

#if defined(__WIN32__) || defined(_WIN32)
|| err == 0 || err == EWOULDBLOCK
#else

RTPInterface.cpp, void SocketDescriptor::tcpReadHandler1(int mask), line 
369:

if (result != 1) { // error reading TCP socket, or no more data available
 if (result < 0) { // error
  if ( fEnv.getErrno() != EWOULDBLOCK )
  {
   fEnv.taskScheduler().turnOffBackgroundReadHandling(fOurSocketNum); // 
stops further calls to us
  }
 }
 return;
}

I don't know if it makes sense ( maybe these changes have some weird side 
effects ) but at least tcp is working better now.  I'll let you know if I 
find something else.

Regards,
Kamil 



More information about the live-devel mailing list