<div>Hello Ross,</div>
<div>&nbsp;</div>
<div>Thanks for taking time in responding to my question. </div>
<div>&nbsp;</div>
<div>We are using Live Media library on Linux. I am not clear when you say it is often an operating system issue. Isn't it the responsibility of the application to bind to a pariticular address if it wants too? If a multicast application needs to only receive traffic on a particular multicast address, it will have to bind to that address? 
</div>
<div>&nbsp;</div>
<div>Also, regarding your other comment &quot;
<div>This is bogus, because the default value of &quot;ReceivingInterfaceAddr&quot; *is* INADDR_ANY.&nbsp; I.e., you'll get the same effect as your proposed change if you don't set &quot;ReceivingInterfaceAddr&quot; at all.&quot;
</div>
<div>&nbsp;</div>
<div>We are planning to set the ReceivingInterfaceAddr to our multicast address and it does work for us. Also,&nbsp;this change&nbsp;doesn't change your default behavior (where it is set to NULL) and thus wont break any existing applications.
</div>
<div>&nbsp;</div>
<div>However, I did notice that after setting ReceivingInterfaceAddr to a multicast address, ourSourceAddressForMulticast() in Groupsock.cpp is failing with &quot;This computer has an invalid IP address:&quot; error. I am in the process of debugging why this error happens. Any hints on this as well?
</div>
<div>&nbsp;</div>
<div>Once again, I appreciate your help here.</div>
<div>&nbsp;</div>
<div>Best,</div>
<div>-Sanjeev</div></div>
<div>---------- Forwarded message ----------<br>From:&nbsp;Ross Finlayson &lt;<a href="mailto:finlayson@live555.com">finlayson@live555.com</a>&gt;<br>To:&nbsp;LIVE555 Streaming Media - development &amp; use &lt;<a href="mailto:live-devel@ns.live555.com">
live-devel@ns.live555.com</a>&gt;<br>Date:&nbsp;Tue, 3 Oct 2006 02:55:07 -0700<br>Subject:&nbsp;Re: [Live-devel] Groupsock doesn't bind to Multicast Address<br>&nbsp;</div>
<div>
<blockquote type="cite">I am relatively new user to the Live Media library. In our application, we would like to bind to a multicast address in addition to binding to the local port number. This is so that we *only* receive packets destined for a given
<u> Multicast address &amp; port</u> combination and prevent other datagrams destined for that same port from being deliverd to our socket.</blockquote>
<div><br>&nbsp;</div>
<div>This is often an operating system issue.&nbsp; Some OSs work the way you want; others do not.</div>
<div><br>&nbsp;</div>
<blockquote type="cite">// change imr.imr_interface.s_addr = ReceivingInterfaceAddr; to following:</blockquote>
<blockquote type="cite">&nbsp;</blockquote>
<blockquote type="cite">if (IN_MULTICAST(ntohl(ReceivingInterfaceAddr))) {<br>&nbsp;&nbsp;&nbsp; // Bound to MULTICAST Address, so use INADDR_ANY as the i/f address<br>&nbsp;&nbsp;&nbsp; imr.imr_interface.s_addr = INADDR_ANY;<br>&nbsp; }<br>&nbsp; else {<br>&nbsp;&nbsp;&nbsp; // Bound to UNICAST Address, so use this address&nbsp;as the i/f address
<br>&nbsp;&nbsp;&nbsp; imr.imr_interface.s_addr = ReceivingInterfaceAddr;<br>&nbsp; }</blockquote>
<div><br>&nbsp;</div>
<div>This is bogus, because the default value of &quot;ReceivingInterfaceAddr&quot; *is* INADDR_ANY.&nbsp; I.e., you'll get the same effect as your proposed change if you don't set &quot;ReceivingInterfaceAddr&quot; at all.</div>
<pre>-- 
</pre>
<div><br>Ross Finlayson<br>Live Networks, Inc.<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.live555.com/" target="_blank">http://www.live555.com/</a></div></div><br><br>