public void CreateOrJoinRoom(string roomId) { if (!RoomStatuses.ContainsKey(roomId)) { RoomStatuses[roomId] = new VideoStatus(); } if (_roomLoopThread == null) { _roomLoopThread = new Thread(LoopRooms); _roomLoopThread.Start(); } RoomStatuses[roomId].UserList.Add(Context.ConnectionId); _logger.LogInformation(Context.User.Identity.Name + " has joined stream room [" + roomId + ']'); _logger.LogInformation(RoomStatuses[roomId].UserList.Count + " users connected to room [" + roomId + ']'); Groups.Add(Context.ConnectionId, roomId); }
public VideoStatusLightweight(string roomId, VideoStatus status) { RoomId = roomId; Time = status.Time; UserCount = status.UserList.Count; switch (status.Status) { case Status.Playing: CurrentStatus = "play"; break; case Status.Paused: CurrentStatus = "pause"; break; case Status.Ended: CurrentStatus = "end"; break; default: CurrentStatus = "unstarted"; break; } }