[Live-devel] Multicast teardown bug?

Patrick White patbob at imoveinc.com
Mon Feb 16 10:38:11 PST 2009


This is probably a stupid question, but...

In RTSPServer::RTSPClientSession::livenessTimeoutTask(), the RTSP client 
session is deleted only if it is not a mutlicast session.  The comment claims 
this is to avoid closing all client sessions, not just the one that has timed 
out.  The only thing that is avoided in this case is deleting the 
RTSPClientSession instance.

In RTSPServer::RTSPClientSession::incomingRequestHandler1(), if there is a 
read error on the RTSP socket for the client, or it sends a TEARDOWN request, 
its RTSPClientSession instance is deleted.  No check for multicast is made.

For multicast sessions, why is it unsafe to delete the RTSPClientSession 
because it has timed out, yet still safe to delete that same object when the 
client requests a TEARDOWN or its RTSP socket gets a read error?  Wouldn't 
those deletes have the same undesirable side effect?


More information about the live-devel mailing list