<div dir="ltr"><div>Dear Sir!</div>
<div>I upgrade my old version of live555 on one latest (from 2011/Jan/24) and pay attention on small difference in functionality in RTSP server that I don't clearly understood. I mean this API: </div>
<div> </div>
<div>void RTSPServer::RTSPClientSession<br>::livenessTimeoutTask(RTSPClientSession* clientSession);</div>
<div> </div>
<div>As written in new version of live555 client session object always deleted, even this is multicast session.</div>
<div>But "old version" of live555 delete the client session object on timeout only in unicast mode.</div>
<div> </div>
<div>This is fragment from "old' version:</div>
<div>=====================</div>
<div>void RTSPServer::RTSPClientSession<br>::livenessTimeoutTask(RTSPClientSession* clientSession) {<br>  // If this gets called, the client session is assumed to have timed out,<br>  // so delete it:</div>
<div><font color="#ff0000">  // However, we don't timeout multicast sessions, because to do so would require<br>  // closing all client sessions that have requested the stream - not just this one.<br>  // Also, the multicast stream itself would usually not be halted, in any case.<br>
  if (clientSession->isMulticast()) return;</font></div>
<div>#ifdef DEBUG<br>  fprintf(stderr, "RTSP client session from %s has timed out (due to inactivity)\n", our_inet_ntoa(clientSession->fClientAddr.sin_addr));<br>#endif<br>delete clientSession;</div>
<div>}</div>
<div> </div>
<div>And this code fragment form latest version of live555:</div>
<div>========================</div>
<div>void RTSPServer::RTSPClientSession<br>::livenessTimeoutTask(RTSPClientSession* clientSession) {</div>
<div>  if (clientSession->isMulticast()) return;</div>
<div>  // If this gets called, the client session is assumed to have timed out,<br>  // so delete it:<br> delete clientSession; clientSession = NULL;<br>}</div>
<div> </div>
<div>Maybe I don't clearly understood how live555 service the multicast client, but I would be very glad on your explain</div>
<div>why multicast checking removed from livenessTimeoutTask API???</div>
<div> </div>
<div>Best regards,</div>
<div> </div>
<div>Marat Shchuchinsky</div>
<div>DSP software engineer</div>
<div> </div></div>