[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