<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">I'm not sharing a Groupsock between RTP and RTCP.</div></div></div></blockquote><div><br class=""></div>OK, I misunderstood your original message, when you said “I have them share Groupsocks for RTP and RTCP”.</div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""> Instead, I have one Groupsock shared between the RTPSink of the multicast out and the RTPSource of the multicast in, and that Groupsock is listening on and sending to the port I specify. There is a different Groupsock shared between the RTCPInstance of the multicast out and the RTCPInstance of the multicast in, and that Groupsock is listening on and sending to the port I specified, plus one. Both Groupsocks are of course subscribed to the same multicast address.</div><div class=""><br class=""></div><div class="">Is the issue you pointed out, with the RTCPInstance destructor turning of background read handling of the Groupsock, still related? Or, am I seeing a separate issue?</div></div></div></blockquote><div><br class=""></div>You were seeing a separate issue - one that I’ve now fixed in another new release (2015.08.07) of the “LIVE555 Streaming Media” software.</div><div><br class=""></div><div>However, there’s one thing that you’re doing that’s not going to work properly: Having two separate “RTCPInstance” objects, each sharing a single “Groupsock”.  The reason why that’s not going to work is that all “RTCPInstance” objects - even ones that are used with a “RTPSink” - need to read and process incoming RTCP packets.  If you have two separate “RTCPInstance” objects sharing a single “Groupsock”, then only the second one that you create will end up handling incoming RTCP packets.</div><div><br class=""></div><div>Instead, you should have just a single “RTCPInstance” object for both your ‘input’ and ‘output’ components.  You would create this (single) “RTCPInstance” after you have created your “RTPSource” and “RTPSink” objects (in either order), using both your “RTPSource” and “RTPSink” objects as parameter (to “RTCPInstance::createNew()”).</div><div><div class=""><br class=""></div><div class="">And then, when you close this “RTCPInstance”, you must do so before closing *either of* the “RTPSource” or “RTPSink” instances.  (And, of course, you must close the “RTCPInstance” only once.)</div><div class=""><br class=""></div></div><div apple-content-edited="true" class=""><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;  "><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;  ">Ross Finlayson<br class="">Live Networks, Inc.<br class=""><a href="http://www.live555.com/" class="">http://www.live555.com/</a></span></span>
</div>
<br class=""></body></html>