[Live-devel] Two liveMedia components sharing Groupsock. Shutting down one stops the other

Ross Finlayson finlayson at live555.com
Fri Aug 7 10:42:19 PDT 2015


> I'm not sharing a Groupsock between RTP and RTCP.

OK, I misunderstood your original message, when you said “I have them share Groupsocks for RTP and RTCP”.


> 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.
> 
> 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?

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.

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.

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()”).

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.)

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20150807/016b78ae/attachment.html>


More information about the live-devel mailing list