<div>Hello,</div>
<div>&nbsp;</div>
<div>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.</div>
<div>&nbsp;</div>
<div>To achieve this, I am using &quot;ReceivingInterfaceAddr&quot; global variable to set our MULTICAST address. This allows Groupsock to bind to this address, however following code in the GroupsockHelper.cpp&nbsp;fails:</div>

<div>&nbsp;</div>
<div>// socketJoinGroup() code snippet </div>
<div>imr.imr_multiaddr.s_addr = groupAddress;<br>&nbsp; imr.imr_interface.s_addr = ReceivingInterfaceAddr;<br>&nbsp; if (setsockopt(socket, IPPROTO_IP, IP_ADD_MEMBERSHIP,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (const char*)&amp;imr, sizeof (struct ip_mreq)) &lt; 0) {
</div>
<div>&nbsp;</div>
<div>This is because&nbsp;ReceivingInterfaceAddr being a Multicast address, is not a valid interface address. </div>
<div>&nbsp;</div>
<div>However, if the above one line was modified as follows to use the INADDR_ANY as the interface address when ReceivingInterfaceAddr is a multicast address, it should work:</div>
<div>&nbsp;</div>
<div>// change imr.imr_interface.s_addr = ReceivingInterfaceAddr; to following:</div>
<div>&nbsp;</div>
<div>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; }<br>&nbsp;</div>
<div>This simple change enables applications interested in receiving specific packets only.&nbsp;</div>
<div>&nbsp;</div>
<div>Here are my questions:</div>
<ol>
<li>Is this an acceptable solution to&nbsp;my problem? If so, can this change be included in&nbsp;your code base and future release?</li>
<li>If not, is there an existing solution to this problem?</li></ol>
<div>I will sincerely appreciate any input and guidance on this issue. </div>
<div>&nbsp;</div>
<div>Best regards,</div>
<div>-Sanjeev</div>
<p>&nbsp;</p>
<div>&nbsp;</div>