<HTML>
<HEAD>
<TITLE>[PATCH] Added command line option to live555MediaServer to specify port</TITLE>
</HEAD>
<BODY>
<FONT FACE="Lucida Console"><SPAN STYLE='font-size:11pt'>Hi everyone,<BR>
<BR>
I&#8217;ve added some code into live555MediaServer.cpp to allow the user to specify a command line argument stating which port to use for the server. &nbsp;&nbsp;&nbsp;This change allows multiple (more than 2) live555MediaServers to be started on a given host and means they can also be started using a script. If no port is specified I&#8217;ve set the server to start on port 8554. &nbsp;This is perhaps not everybody&#8217;s default but suits our environment.<BR>
<BR>
Kind regards,<BR>
<BR>
Mark Liggett<BR>
BTI Systems<BR>
<BR>
24d23<BR>
&lt; #include &lt;unistd.h&gt;<BR>
40,78d38<BR>
&lt; /*<BR>
&lt; &nbsp;* Added command line option -p &lt;portnumber&gt; to specify a tcp port on<BR>
&lt; &nbsp;* which to start live555MediaServer otherwise default to port 8554<BR>
&lt; &nbsp;*/<BR>
&lt; &nbsp;&nbsp;unsigned short desiredPortNum = 8554;<BR>
&lt; &nbsp;&nbsp;int opt;<BR>
&lt; <BR>
&lt; &nbsp;&nbsp;if(argc == 1){<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*env &lt;&lt; &quot;RTSP server starting on default port: &quot; &lt;&lt; desiredPortNum &lt;&lt; &quot;\n&quot;;<BR>
&lt; &nbsp;&nbsp;}<BR>
&lt; <BR>
&lt; &nbsp;&nbsp;while ((opt = getopt (argc, argv, &quot;p:&quot;)) != -1) {<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch (opt)<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 'p': { // specify port number<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int portArg;<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(sscanf(optarg, &quot;%d&quot;, &amp;portArg) != -1){<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (portArg &lt;= 0 || portArg &gt;= 65536) {<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*env &lt;&lt; &quot;RTSP server failed to start: &quot; &lt;&lt; &quot;Invalid port number \n&quot;;<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;desiredPortNum = (unsigned short)portArg;<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*env &lt;&lt; &quot;RTSP server starting on port: &quot; &lt;&lt; desiredPortNum &lt;&lt; &quot;\n&quot;;<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*env &lt;&lt; &quot;RTSP server failed to start: &quot; &lt;&lt; &quot;Invalid port number \n&quot;;<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default : {<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*env &lt;&lt; &quot;RTSP server failed to start: &quot; &lt;&lt; &quot;Missing port number \n&quot;;<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&lt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&lt; &nbsp;&nbsp;}<BR>
&lt; <BR>
82,86c42<BR>
&lt; <BR>
&lt; &nbsp;// Changed default behavior to set port to desiredPortNum rather than 554<BR>
&lt; &nbsp;&nbsp;portNumBits rtspServerPortNum = desiredPortNum;<BR>
&lt; <BR>
&lt; <BR>
---<BR>
&gt; &nbsp;&nbsp;portNumBits rtspServerPortNum = 554;<BR>
88,91d43<BR>
&lt; <BR>
&lt; /*<BR>
&lt; &nbsp;* Removed to stop default port behavior<BR>
&lt; &nbsp;*<BR>
96,97d47<BR>
&lt; */<BR>
&lt; </SPAN></FONT>
</BODY>
</HTML>