private void Rs_TargetsCleared(object sender, EventArgs e) { RTPServer rs = sender as RTPServer; rs.TargetsCleared -= Rs_TargetsCleared; rs.Dispose(); _rtpServers.Remove(rs.VideoId); }
public bool RemoveTarget(string videoId, string ip, int port) { if (_rtpServers.ContainsKey(videoId)) { RTPServer rs = _rtpServers[videoId]; rs.RemoveTarget(ip, port); return(true); } return(false); }
public void RemoveServer(string videoId) { if (_rtpServers.ContainsKey(videoId)) { RTPServer rs = _rtpServers[videoId]; rs.TargetsCleared -= Rs_TargetsCleared; rs.Dispose(); _rtpServers.Remove(rs.VideoId); } }
public bool AddTarget(string videoId, string ip, int port) { if (_rtpServers.ContainsKey(videoId)) { RTPServer rs = _rtpServers[videoId]; rs.AddTarget(ip, port); if (!rs.Started) { rs.Start(); } return(true); } return(false); }
public RTPServer GetOrAddServer(string videoId) { if (_rtpServers.ContainsKey(videoId)) { return(_rtpServers[videoId]); } else { int port = PortUtils.GetFreeRTPPort(); RTPServer rs = new RTPServer(port, videoId); rs.TargetsCleared += Rs_TargetsCleared; _rtpServers[videoId] = rs; return(rs); } }