示例#1
0
        public CitpMediaServerService([NotNull] string nicIpAddress,
                                      bool useOriginalMulticastIp, [NotNull] ICitpMediaServerDevice device, bool isStreamingEnabled,
                                      ICitpLogService log = null)
        {
            if (nicIpAddress == null)
            {
                throw new ArgumentNullException(nameof(nicIpAddress));
            }

            if (device == null)
            {
                throw new ArgumentNullException(nameof(device));
            }

            _log = log ?? new CitpDebugLogger(CitpLoggerLevel.Info);

            _device = device;

            IpAddress ip;

            if (!IpAddress.TryParse(nicIpAddress, out ip))
            {
                throw new ArgumentException("Not a valid IPv4 address", nameof(nicIpAddress));
            }

            _networkService = new CitpNetworkService(_log, ip, useOriginalMulticastIp, _device);

            IsStreamingEnabled = isStreamingEnabled;

            if (isStreamingEnabled)
            {
                _streamingService = new CitpStreamingService(_log, _device, _networkService);
            }
        }
示例#2
0
 public void Dispose()
 {
     if (_networkService != null)
     {
         _networkService.Dispose();
         _networkService = null;
     }
 }
示例#3
0
 public CitpStreamingService(ICitpLogService log, ICitpStreamProvider streamProvider, CitpNetworkService networkService)
 {
     _log            = log;
     _streamProvider = streamProvider;
     _networkService = networkService;
 }