Exemplo n.º 1
0
        private void OnStreamReceived(object sender, Session.StreamReceivedEventArgs e)
        {
            if (Session == null || _subscribers.Any(x => x.Stream?.StreamId == e.P1?.StreamId))
            {
                return;
            }

            using (var builder = new Subscriber.Builder(CrossCurrentActivity.Current.AppContext, e.P1))
            {
                var subscriberKit = builder.Build();
                subscriberKit.SubscribeToAudio = IsAudioSubscriptionEnabled;
                subscriberKit.SubscribeToVideo = IsVideoSubscriptionEnabled;
                subscriberKit.SetStyle(BaseVideoRenderer.StyleVideoScale, BaseVideoRenderer.StyleVideoFill);

                subscriberKit.Connected              += OnSubscriberConnected;
                subscriberKit.StreamDisconnected     += OnStreamDisconnected;
                subscriberKit.SubscriberDisconnected += OnSubscriberDisconnected;
                subscriberKit.VideoDataReceived      += OnSubscriberVideoDataReceived;
                subscriberKit.VideoDisabled          += OnSubscriberVideoDisabled;
                subscriberKit.VideoEnabled           += OnSubscriberVideoEnabled;

                Session.Subscribe(subscriberKit);
                var streamId = e.P1.StreamId;
                _subscribers.Add(subscriberKit);
                _subscriberStreamIds.Add(streamId);
            }
        }
        private void OnStreamReceived(object sender, Session.StreamReceivedEventArgs e)
        {
            lock (_locker)
            {
                if (Session == null || Subscribers != null &&
                    Subscribers.ContainsKey(e.P1.StreamId))
                {
                    return;
                }

                Stream stream  = e.P1;
                var    builder = new Subscriber.Builder(CrossCurrentActivity.Current.AppContext, stream);

                SubscriberKit subscriberKit = builder.Build();
                subscriberKit.Connected              += OnSubscriberConnected;
                subscriberKit.StreamDisconnected     += OnStreamDisconnected;
                subscriberKit.SubscriberDisconnected += OnSubscriberDisconnected;
                subscriberKit.VideoDisabled          += OnSubscriberVideoDisabled;
                subscriberKit.VideoEnabled           += OnSubscriberVideoEnabled;

                subscriberKit.SetStyle(BaseVideoRenderer.StyleVideoScale, BaseVideoRenderer.StyleVideoFill);
                subscriberKit.SubscribeToAudio = IsAudioSubscriptionEnabled;
                subscriberKit.SubscribeToVideo = IsVideoSubscriptionEnabled;
                Session.Subscribe(subscriberKit);

                Subscribers?.Add(stream.StreamId, subscriberKit);
                OnSubscriberAdded(stream.StreamId);

                builder.Dispose();
            }
        }
Exemplo n.º 3
0
        void OnStreamCreated(object sender, Session.StreamReceivedEventArgs e)
        {
            var stream = e.P1;

            lock (syncLock)
            {
                if (Subscriber != null || Session == null)
                {
                    return;
                }

                Subscriber = new Subscriber(Context, stream);
                HandleSubscriptionEvents();

                Subscriber.SetStyle(BaseVideoRenderer.StyleVideoScale, BaseVideoRenderer.StyleVideoFill);

                Session.Subscribe(Subscriber);
            }
        }
        private void OnStreamCreated(object sender, Session.StreamReceivedEventArgs e)
        {
            lock (_locker)
            {
                if (Session == null ||
                    SubscriberKit != null)
                {
                    return;
                }

                SubscriberKit                = new Subscriber.Builder(CrossCurrentActivity.Current.AppContext, e.P1).Build();
                SubscriberKit.Connected     += OnSubscriberDidConnectToStream;
                SubscriberKit.VideoDisabled += OnSubscriberVideoDisabled;
                SubscriberKit.VideoEnabled  += OnSubscriberVideoEnabled;

                SubscriberKit.SetStyle(BaseVideoRenderer.StyleVideoScale, BaseVideoRenderer.StyleVideoFill);
                SubscriberKit.SubscribeToAudio = IsAudioSubscriptionEnabled;
                SubscriberKit.SubscribeToVideo = IsVideoSubscriptionEnabled;
                SubscriberUpdated?.Invoke();
                Session.Subscribe(SubscriberKit);
            }
        }
Exemplo n.º 5
0
 private void OnStreamCreated(object sender, Session.StreamReceivedEventArgs e)
 {
     Subscribe(e.P1);
 }