[Live-devel] RTCP bug in multicast?
Ross Finlayson
finlayson at live555.com
Sun Jun 12 01:42:39 PDT 2011
> 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/
More information about the live-devel
mailing list