<HTML>
<HEAD>
<TITLE>IncreaseSendBufferTo / RTSP_PARAM_STRING_MAX / dynamic rtp payload types</TITLE>
</HEAD>
<BODY>
<FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>I was investigating an issue where I was capturing an outgoing stream from my RtspServer, and I noticed there were missing packets when I captured using tcpdump. &nbsp;&nbsp;I increased the send buffer size using increaseSendBufferTo, and this helped the issue.<BR>
<BR>
However, I was curious as to what is the difference between increaseSendBufferTo and setSendBufferSize? (And the appropriate ReceiveBuffer calls)<BR>
(setSendBufferTo does not seem to be called). <BR>
<BR>
On a separate point. can we set the RTSP_PARAM_STRING_MAX to something larger than 100? &nbsp;I use 256, but &nbsp;is there any reason it cannot be PATH_MAX (which is OS indepenedent &#8211; tho I am not sure if this is defined on all systems). &nbsp;I use a larger size to allow more url parameters on the streams on my server.<BR>
<BR>
Another thing I have noticed is that there are certain non conforming devices that can change their RTP payload midstream. &nbsp;To handle this on my client end I added the abilility to ignore the rtp payload type being dynamic. &nbsp;I did this by not checking the payload type if the expected type was set to zero:<BR>
--- vendor/liveMedia/MultiFramedRTPSource.cpp &nbsp;<BR>
+++ custom/liveMedia/MultiFramedRTPSource.cpp &nbsp;<BR>
@@ -263,7 +263,10 @@<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bPacket-&gt;removePadding(numPaddingBytes);<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Check the Payload Type.<BR>
- &nbsp;&nbsp;&nbsp;if ((unsigned char)((rtpHdr&amp;0x007F0000)&gt;&gt;16)<BR>
+ &nbsp;&nbsp;&nbsp;// &nbsp;Handle a payload type of 0<BR>
+ &nbsp;&nbsp;&nbsp;// Which means do not worry about the payload type<BR>
+ &nbsp;&nbsp;&nbsp;if (0 != source-&gt;rtpPayloadFormat() &amp;&amp;<BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(unsigned char)((rtpHdr&amp;0x007F0000)&gt;&gt;16)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!= source-&gt;rtpPayloadFormat()) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
<BR>
<BR>
Regards,<BR>
Stuart<BR>
</SPAN></FONT>

<BR>
- ------------------------------------------------------------------------------<BR>
Confidentiality Notice: The information contained in this transmission is legally privileged and confidential, intended only for the use of the individual(s) or entities named above. This email and any files transmitted with it are the property of Pelco. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any review, disclosure, copying, distribution, retention, or any action taken or omitted to be taken in reliance on it is prohibited and may be unlawful. If you receive this communication in error, please notify us immediately by telephone call to +1-559-292-1981 or forward the e-mail to administrator@pelco.com and then permanently delete the e-mail and destroy all soft and hard copies of the message and any attachments. Thank you for your cooperation. <BR>
- ------------------------------------------------------------------------------<BR>
</BODY>
</HTML>