I just read the rtcp.cpp and find a problem in multicast mode.
   In RTCPInstance::incomingReportHandler1(), from line 342 :

[...]

 Here, the mechanism to prevent endless loop seems not perfect,
checking the variables fHaveJustSentPacket  and fLastPacketSentSize is
not enough.

Yes, you're correct. As you noted, this is a problem if we're a SSM source, because (in that case) we want to resend the incoming packet back to the multicast group, and if the packet originated from us, then this would cause a 'packet storm'.


  To avoid this bug we must enable the code in
Groupsock::multicastSendOnly(), so the server will not received any
multicast packets that it just sent out.

Unfortunately we can't do that, because some OSs have a bug whereby multicast sending doesn't work if we don't also join the group.

What I've done instead is change the RTCP code so that we send the incoming packet back to the multicast group only if we know for sure that the packet originated from another host. This should avoid the possibility of a 'packet storm'.

I've now installed a new version (2011.06.12 ) of the code that includes this change.
--

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to