[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