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();
            }
        }
        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);
            }
        }
 private void SetVideoScaleStyle(SubscriberKit subscriberKit)
 => subscriberKit.SetStyle(BaseVideoRenderer.StyleVideoScale, MapVideoScaleStyle(SubscriberVideoScaleStyle));