As my testing, the function RTPInterface::sendRTPorRTCPPacketOverTCP may
hung taskSchedule's thread, I found it was at source code line 307, and I
modify it from
   " if (!sendDataOverTCP(socketNum, packet, packetSize, True)) break;"
    to
    "if (!sendDataOverTCP(socketNum, packet, packetSize, False)) break;"
My test client is ffplay. I guest the reason is that nonblock send() call
was failed, and then set this client socket into blocking mode and resend,
but ffplay read data may return error and it will retry, so ffplay's
receive buffer was full, and our send() was block;

Thanks
-- 
by:crazyevent
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to