public CapturePipelineManager([NotNull] CodecSettingsLoader codecSettingsLoader, [NotNull] RoomChannels roomChannels, [NotNull] PlayerChannels playerChannels, [NotNull] ReadOnlyCollection <VoicePlayerState> players, int startupDelay = 0) { if (codecSettingsLoader == null) { throw new ArgumentNullException("codecSettingsLoader"); } if (roomChannels == null) { throw new ArgumentNullException("roomChannels"); } if (playerChannels == null) { throw new ArgumentNullException("playerChannels"); } if (players == null) { throw new ArgumentNullException("players"); } _codecSettingsLoader = codecSettingsLoader; _roomChannels = roomChannels; _playerChannels = playerChannels; _receivingPacketLossMonitor = new PacketLossMonitor(players); _startupDelay = startupDelay; }