[Live-devel] live555 blocked on a select

Sébastien Escudier sebastien-devel at celeos.eu
Mon Feb 22 02:26:52 PST 2010


Quoting Ross Finlayson <finlayson at live555.com>:

> Perhaps the server is (erroneously) ending its response only with
> \r\n, and not with \r\n\r\n ?

No,
The response is correctly ended by \r\n\r\n. The body isn't (but that's normal).

It is a response to a get parameter. The response is a 404 Not found with a
content-length of 316
But live555 doesn't read the 316 bytes length body of the response.
So when the library is reading again the socket, it reads the body of the
previous response, and doesn't find \r\n\r\n, so it blocks.

The problem is in RTSPClient.cpp in getMediaSessionParameter function, when you
check the responseCode (line 1572). If it's != 200 then you don't read the body
of the message, which stays in the socket.
Don't you think we should read the response body, whatever the response code ?

PS :
To be clear, what I call the response is :
RTSP/1.0 404 Not found
followed by a content-length, a content type and \r\n\r\n
Then there is the body (text).




More information about the live-devel mailing list