[Live-devel] is it a bug?

Ross Finlayson finlayson at live555.com
Sat Feb 25 00:20:15 PST 2006


>If rttsp server has died,  in
>RTSPClient::teardownMediaSubsession(MediaSubsession& subsession)
>getResponse("TEARDOWN", bytesRead, responseCode, firstLine,
>nextLineStart)) can not return. It will wait indefinitely, because in
>RTSPClient::getResponse1there is not timeout in readSocket(envir(),
>fInputSocketNum, &firstByte, 1, fromAddress).

If "recvfrom()" (called from "readSocket()") fails to return once the 
socket no longer exists (which should be the case if the RTSP server 
dies), then your operating system is broken.

However, you can overcome this by not checking for a response from 
the RTSP "TEARDOWN".  You can do this by changing line 1681 of 
"RTSPClient.cpp" from
         if (fTCPStreamIdCount == 0) {
to
         if (0) {


	Ross Finlayson
	Live Networks, Inc. (LIVE555.COM)
	<http://www.live555.com/>



More information about the live-devel mailing list