<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"><base href="x-msg://745/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div dir="ltr" style="font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div dir="ltr"><font face="Courier New">    RtspServer: An OPTIONS with a proper "Session: XYZ" does not seem to trigger RTSPClientSession::noteLiveness().<br>    Is that a wanted behavior ?<br></font></div></div></blockquote><div><br></div>Yes, because the "OPTIONS" command applies to the entire server, and is not specific to a particular session.  (In other words, a "Session:" header in an "OPTIONS" command is ignored.)</div><div><br></div><div><br><blockquote type="cite"><div dir="ltr" style="font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div dir="ltr"><font face="Courier New">    If yes, apart from sending RTCP</font></div></div></blockquote><div><br></div>No, "apart from sending RTCP" should not apply here, because RTCP is a mandatory part of the RTP/RTCP protocol.  A RTSP/RTP client should also implement RTCP, and send periodic RTCP "RR" ("Reception Report") packets, which the server will recognize as indicating that the client is still alive.  (Note that our RTSP client implementation automatically includes RTCP.)</div><div><br></div><div>Having said that, I should note that our server will also recognize any session-specific command (including "GET_PARAMETER") as indicating client liveness.</div><div><br></div><div><br></div><div><blockquote type="cite"><div dir="ltr" style="font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div dir="ltr"><font face="Courier New">    would it be possible to change the many</font><font face="Courier New"><br></font></div></div></blockquote>[...]<br><blockquote type="cite"><div dir="ltr" style="font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div dir="ltr"><font face="Courier New">    to use</font><font face="Courier New"><br></font><font face="Courier New"><br></font><font face="Courier New">        "Session: %08X;timeout=%u\r\n\r\n",  ...,  fOurSessionId, fReclamationTestSeconds);</font><font face="Courier New"><br></font></div></div></blockquote><div><br></div>Of course it would be 'possible', but I'm probably not going to do it, because (1) it's not required, and (2) it is not necessary, if clients send RTCP "RR" reports, as they are supposed to.  (I'm disinclined to implement a feature that might encourage RTSP client developers (not using our libraries) to not implement RTCP.)</div><div><br></div><div><br></div><div><blockquote type="cite"><div dir="ltr" style="font-family: Calibri; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div dir="ltr"><span style="font-family: 'Courier New'; ">Bug:</span></div><div dir="ltr"><font face="Courier New">In following code, if "if (NumBytesInNALunit > maxSize) return;" occurs, 'nalUnitCopySize' is not set to 0, 'seiSize' is unset/random, and it will most likely crash in the while loop.</font><font face="Courier New"><br></font><font face="Courier New">Solution :<span class="Apple-converted-space"> </span></font><font face="Courier New"><br></font><font face="Courier New"> 1: Put 'nalUnitCopySize = 0;' before the return in H264VideoStreamParser::removeEmulationBytes</font><font face="Courier New"><br></font><font face="Courier New"> 2: unsigned seiSize = 0;</font><font face="Courier New"><br></font></div></div></blockquote><div><br></div>Yes, that's a bug, albeit one that is unlikely to ever get triggered, because no SPS NAL unit should ever be larger than "SPS_MAX_SIZE" (and ditto for SEL NAL units and "SEI_MAX_SIZE").  Nonetheless, your suggested fix will be included in the next release of the software.</div><br><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>