[Live-devel] Just in case the server responses nothing

Brain Lai brainlai at gmail.com
Mon Dec 10 05:41:02 PST 2007


Dear Sir:

When I try to connect AXIS IP camera several times(one to many, no regular
pattern), the RTSPClient::describeURL() never retruns. After doing some
source tracing, I find that it is blocked in readSocket() in
RTSPClient::getResponse1(). This is because the readSocket() calls
blockUntilReadable() without timeout setting.

I also apply Wireshark to capture the protocol negotiation and verify that
the RTSPClient really sends the DESCRIBE request but the RTSP server
responses nothing. Since I can not step inside the AXIS RTSP server to see
if it really receives the request, it is not easy to confirm the cause of
the problem. Maybe the server does receive the request but cannot response
for some reason or something else.

Anyway, I suggest the RTSPClient chooses a reasonable timeout for safety
before calling readSocket() in case the server misbehaves. Actually, when
this condition is detected, the next time calling RTSPClient::describeURL()
succeeds. It seems nobody should be blamed.

BR.
Brain Lai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.live555.com/pipermail/live-devel/attachments/20071210/3901c80f/attachment.html 


More information about the live-devel mailing list