[Live-devel] RTP over TCP bugs

Ralf Globisch rglobisch at csir.co.za
Sun Jul 17 03:41:08 PDT 2011


In case it helps: profiling shows that the following seems to account
for the CPU usage:

void SocketDescriptor::tcpReadHandler(SocketDescriptor*
socketDescriptor, int mask) {
 socketDescriptor->tcpReadHandler1(mask);
}

Commenting out the dummy descriptor on fReadSet didn't help solve the issue.

The stack trace seemingly causing the high CPU uage looks somewhat as follows:

BasicTaskScheduler::SingleStep
   SocketDescriptor::tcpReadHandler
       socketDescriptor->tcpReadHandler1 ->   [fTCPReadingState =
AWAITING_PACKET_DATA]
           rtpInterface->fReadHandlerProc ->
MultiFramedRTPSource::networkReadHandler
               MultiFramedRTPSource::networkReadHandler1 ->
[packetReadWasIncomplete = false -> fPacketReadInProgress = NULL]
                   ....
                   if (bPacket->dataSize() < 12) break; ->
[readSuccess = false]
                   doGetNextFrame1();

Does this help at all in resolving/tracking down the issue? Perhaps
offsetting the next read event by some milliseconds?

Regards,
Ralf


More information about the live-devel mailing list