<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000">I have just noticed something - when the first client connects,
    there is an IGMP membership report issued to join the group I have
    specified for any sources.<br>
    <br>
    However, when that first (and only) client tears down the session,
    there is no IGMP membership report for the 'Leave'.<br></div></blockquote><div><br></div>That's correct, because the "groupsock" object (the member variable "fInputGroupsock" in "MPEG2TransportUDPServerMediaSubsession") is not destroyed at this time.  Instead, it stays around to be reused the next time that "createNewStreamSource" is called.  That's why I'm confused as to the behavior that your're seeing.  I'll have to investigate...</div><div><br></div><div><br></div><div><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000">I suspect that the lack of an IGMP leave in the source destructor
    may be the cause of this unexpected behaviour.<br></div></blockquote><div><br></div>No, because if - as in this case - the "groupsock" object is not destroyed, then it should be OK to reuse it for new "BasicUDPSource" (or "SimpleRTPSource") objects.</div><div><br></div><div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000">Would you suggest I write my own subclassed source and destructor,
    or do you think this behavour should be contained within the
    standard live555 source?<br></div></blockquote><div><br></div></div>First, I'll try to look into exactly what's happening.  If there's a bug in the supplied LIVE555 code, then I'll try to fix it.<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>