Exemple #1
0
        public Player(
            ILogger logger,
            IReceiver receiver,
            string destinationId = AppConstants.DESTINATION_ID,
            string senderId      = AppConstants.SENDER_ID,
            bool logToConsole    = true,
            bool logTrace        = false)
        {
            _logger         = logger;
            _destinationId  = destinationId;
            CanLogToConsole = logToConsole;
            CanLogTrace     = logTrace;

            _sender = new Sender(_logger, senderId, receiver, HandleResponseMsg);
            _sender.Disconnected += OnDisconnect;
            _connectionChannel    = new ConnectionChannel(destinationId);
            _heartbeatChannel     = new HeartbeatChannel(destinationId);
            _mediaChannel         = new MediaChannel(destinationId, async() =>
            {
                var app = await _receiverChannel.GetApplication(_sender, _connectionChannel, _mediaChannel.Namespace);
                return(app.SessionId);
            });
            _receiverChannel = new ReceiverChannel(destinationId);
        }