NewTOAPIA.Net.Rtp.RtpSession.RemoveParticipant C# (CSharp) Method

RemoveParticipant() private method

Removes a participant and does all the necessary cleanup of streams and associations
private RemoveParticipant ( RtpParticipant participant ) : void
participant RtpParticipant
return void
        private void RemoveParticipant(RtpParticipant participant)
        {
            lock(participants)
            {
                if(participants.ContainsKey(participant.CName))
                {
                    foreach(uint ssrc in participant.SSRCs)
                    {
                        if(streamsAndIPs[ssrc].stream != null)
                        {
                            RemoveSSRC(ssrc);
                        }

                        participant.RemoveSSRC(ssrc);
                        ssrcToParticipant.Remove(ssrc);
                    }

                    participants.Remove(participant.CName);
                    ssrcToParticipant.Remove(participant.SSRC);

                    RaiseParticipantRemovedEvent(participant);
                }
            }
        }