Beispiel #1
0
 public override void onVideoDisableWarningLifted(SubscriberKit subscriber)
 {
     Log.i(LOGTAG, "Video may no longer be disabled as stream quality improved. Add UI handling here.");
     mSubscriberQualityFragment.Congestion = SubscriberQualityFragment.CongestionLevel.Low;
     congestion = SubscriberQualityFragment.CongestionLevel.Low;
     mSubscriberQualityFragment.showSubscriberWidget(false);
 }
        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();
            }
        }
Beispiel #3
0
 public override void onVideoDataReceived(SubscriberKit subscriber)
 {
     Log.i(LOGTAG, "First frame received");
     // stop loading spinning
     mLoadingSub.Visibility = View.GONE;
     attachSubscriberView(mSubscriber);
 }
        public override void EndSession(bool sendBackToRoot, bool showEvaluateCall)
        {
            try
            {
                if (Session == null && SubscriberKit == null && PublisherKit == null)
                {
                    return;
                }

                lock (_locker)
                {
                    if (SubscriberKit != null)
                    {
                        SubscriberKit.SubscribeToAudio        = false;
                        SubscriberKit.SubscribeToVideo        = false;
                        SubscriberKit.Connected              -= OnSubscriberConnected;
                        SubscriberKit.StreamDisconnected     -= OnSubscriberDisconnected;
                        SubscriberKit.SubscriberDisconnected -= OnSubscriberDisconnected;
                        SubscriberKit.VideoDisabled          -= OnSubscriberVideoDisabled;
                        SubscriberKit.VideoEnabled           -= OnSubscriberVideoEnabled;
                        SubscriberKit.Dispose();
                        SubscriberKit = null;
                    }

                    if (PublisherKit != null)
                    {
                        PublisherKit.PublishAudio   = false;
                        PublisherKit.PublishVideo   = false;
                        PublisherKit.StreamCreated -= OnPublisherStreamCreated;
                        PublisherKit.Dispose();
                        PublisherKit = null;
                    }

                    if (Session != null)
                    {
                        Session.ConnectionDestroyed -= OnConnectionDestroyed;
                        Session.Connected           -= OnDidConnect;
                        Session.StreamReceived      -= OnStreamCreated;
                        Session.StreamDropped       -= OnStreamDestroyed;
                        Session.Error  -= OnError;
                        Session.Signal -= OnSignal;
                        Session.Disconnect();
                        Session.Dispose();
                        Session = null;
                    }
                }

                ClearPublisherUpdated();
                ClearSubscribeUpdated();
                _medicalVideoCall.VideoCallStatusAsync((int)CallStatus.Ending, null, sendBackToRoot, showEvaluateCall);
            }
            finally
            {
                InvitedConnection = null;
                _medicalVideoCall.Messages.Clear();
                IsSessionStarted    = false;
                IsPublishingStarted = false;
            }
        }
Beispiel #5
0
 public override void onVideoDisableWarning(SubscriberKit subscriber)
 {
     Log.i(LOGTAG, "Video may be disabled soon due to network quality degradation. Add UI handling here.");
     mSubscriberQualityFragment.Congestion = SubscriberQualityFragment.CongestionLevel.Mid;
     congestion = SubscriberQualityFragment.CongestionLevel.Mid;
     setSubQualityMargins();
     mSubscriberQualityFragment.showSubscriberWidget(true);
 }
Beispiel #6
0
 public void OnStreamDropped(Session p0, Stream p1)
 {
     if (mSubscriber != null)
     {
         mSubscriber = null;
         mSubscriberViewContainer.RemoveAllViews();
     }
 }
Beispiel #7
0
 public void OnStreamReceived(Session p0, Stream p1)
 {
     if (mSubscriber == null)
     {
         mSubscriber = new Subscriber.Builder(this, p1).Build();
         mSession.Subscribe(mSubscriber);
         mSubscriberViewContainer.AddView(mSubscriber.View);
     }
 }
        public override void EndSession()
        {
            try
            {
                if (Session == null)
                {
                    return;
                }

                lock (_locker)
                {
                    if (SubscriberKit != null)
                    {
                        SubscriberKit.SubscribeToAudio = false;
                        SubscriberKit.SubscribeToVideo = false;
                        SubscriberKit.Connected       -= OnSubscriberDidConnectToStream;
                        SubscriberKit.VideoDisabled   -= OnSubscriberVideoDisabled;
                        SubscriberKit.VideoEnabled    -= OnSubscriberVideoEnabled;
                        SubscriberKit.Dispose();
                        SubscriberKit = null;
                    }

                    if (PublisherKit != null)
                    {
                        PublisherKit.PublishAudio   = false;
                        PublisherKit.PublishVideo   = false;
                        PublisherKit.StreamCreated -= OnPublisherStreamCreated;
                        PublisherKit.Dispose();
                        PublisherKit = null;
                    }

                    if (Session != null)
                    {
                        Session.ConnectionDestroyed -= OnConnectionDestroyed;
                        Session.Connected           -= OnDidConnect;
                        Session.StreamReceived      -= OnStreamCreated;
                        Session.StreamDropped       -= OnStreamDestroyed;
                        Session.Error  -= OnError;
                        Session.Signal -= OnSignal;
                        Session.Disconnect();
                        Session.Dispose();
                        Session = null;
                    }
                }
            }
            finally
            {
                IsSessionStarted    = false;
                IsPublishingStarted = false;
            }
        }
Beispiel #9
0
 public override void onVideoEnabled(SubscriberKit subscriber, string reason)
 {
     Log.i(LOGTAG, "Video enabled:" + reason);
     if (mSubscriber == subscriber)
     {
         AudioOnlyView = false;
     }
     if (reason.Equals("quality"))
     {
         mSubscriberQualityFragment.Congestion = SubscriberQualityFragment.CongestionLevel.Low;
         congestion = SubscriberQualityFragment.CongestionLevel.Low;
         mSubscriberQualityFragment.showSubscriberWidget(false);
     }
 }
Beispiel #10
0
 private void ClearSubscriber(SubscriberKit subscriberKit)
 {
     using (subscriberKit)
     {
         subscriberKit.SubscribeToAudio        = false;
         subscriberKit.SubscribeToVideo        = false;
         subscriberKit.Connected              -= OnSubscriberConnected;
         subscriberKit.StreamDisconnected     -= OnStreamDisconnected;
         subscriberKit.SubscriberDisconnected -= OnSubscriberDisconnected;
         subscriberKit.VideoDataReceived      -= OnSubscriberVideoDataReceived;
         subscriberKit.VideoDisabled          -= OnSubscriberVideoDisabled;
         subscriberKit.VideoEnabled           -= OnSubscriberVideoEnabled;
     }
 }
 private void OnSubscriberConnectionChanged(bool isConnected, SubscriberKit subscriberKit)
 {
     lock (_locker)
     {
         if (subscriberKit?.Stream != null)
         {
             if (Subscribers.ContainsKey(subscriberKit.Stream.StreamId))
             {
                 SubscriberUpdated?.Invoke(this, new OpenTokUserUpdatedEventArgs(subscriberKit.Stream.StreamId));
                 IsSubscriberConnected    = isConnected;
                 IsSubscriberVideoEnabled = subscriberKit.Stream?.HasVideo ?? false;
                 PublisherUpdated?.Invoke(this, new OpenTokUserUpdatedEventArgs(PublisherKit.Session.SessionId));
             }
         }
     }
 }
Beispiel #12
0
        public override void onVideoDisabled(SubscriberKit subscriber, string reason)
        {
            Log.i(LOGTAG, "Video disabled:" + reason);
            if (mSubscriber == subscriber)
            {
                AudioOnlyView = true;
            }

            if (reason.Equals("quality"))
            {
                mSubscriberQualityFragment.Congestion = SubscriberQualityFragment.CongestionLevel.High;
                congestion = SubscriberQualityFragment.CongestionLevel.High;
                setSubQualityMargins();
                mSubscriberQualityFragment.showSubscriberWidget(true);
            }
        }
        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);
            }
        }
 public void OnVideoDataReceived(SubscriberKit subscriber)
 {
     AttachSubscriberView(mSubscriber);
 }
 public void OnVideoDisableWarningLifted(SubscriberKit subscriber)
 {
     // warning
 }
		public override void onVideoDisableWarningLifted(SubscriberKit subscriber)
		{
			Log.i(LOGTAG, "Video may no longer be disabled as stream quality improved. Add UI handling here.");
			mSubscriberQualityFragment.Congestion = SubscriberQualityFragment.CongestionLevel.Low;
			congestion = SubscriberQualityFragment.CongestionLevel.Low;
			mSubscriberQualityFragment.showSubscriberWidget(false);
		}
		public override void onVideoEnabled(SubscriberKit subscriber, string reason)
		{
			Log.i(LOGTAG, "Video enabled:" + reason);
			if (mSubscriber == subscriber)
			{
				AudioOnlyView = false;
			}
			if (reason.Equals("quality"))
			{
				mSubscriberQualityFragment.Congestion = SubscriberQualityFragment.CongestionLevel.Low;
				congestion = SubscriberQualityFragment.CongestionLevel.Low;
				mSubscriberQualityFragment.showSubscriberWidget(false);
			}
		}
		public override void onError(SubscriberKit subscriber, OpentokError exception)
		{
			Log.i(LOGTAG, "Subscriber exception: " + exception.Message);
		}
Beispiel #19
0
 public void OnVideoDisableWarningLifted(SubscriberKit p0)
 {
     throw new NotImplementedException();
 }
Beispiel #20
0
 public override void onAudioLevelUpdated(SubscriberKit subscriber, float audioLevel)
 {
     outerInstance.mAudioLevelView.MeterValue = audioLevel;
 }
Beispiel #21
0
 public void OnVideoDisableWarningLifted(SubscriberKit subscriber)
 {
     // warning
 }
Beispiel #22
0
 public void OnVideoDisabled(SubscriberKit subscriber, string reason)
 {
     // video disabled
 }
Beispiel #23
0
 public void OnVideoEnabled(SubscriberKit subscriber, string reason)
 {
     // video enabled
 }
				public override void onAudioLevelUpdated(SubscriberKit subscriber, float audioLevel)
				{
					meterView.MeterValue = audioLevel;
				}
Beispiel #25
0
 public override void onVideoDisableWarningLifted(SubscriberKit subscriber)
 {
     Log.i(LOGTAG, "Video may no longer be disabled as stream quality improved. Add UI handling here.");
 }
		public override void onVideoEnabled(SubscriberKit subscriber, string reason)
		{
			Log.i(LOGTAG, "Video enabled:" + reason);
		}
		public override void onVideoDisableWarningLifted(SubscriberKit subscriber)
		{
			Log.i(LOGTAG, "Video may no longer be disabled as stream quality improved. Add UI handling here.");
		}
Beispiel #28
0
 public override void onConnected(SubscriberKit subscriber)
 {
     mLoadingSub.Visibility = View.GONE;
     mSubscriberFragment.showSubscriberWidget(true);
     mSubscriberFragment.initSubscriberUI();
 }
Beispiel #29
0
 public override void onVideoDisableWarning(SubscriberKit subscriber)
 {
     Log.i(LOGTAG, "Video may be disabled soon due to network quality degradation. Add UI handling here.");
 }
Beispiel #30
0
 public override void onDisconnected(SubscriberKit subscriber)
 {
     Log.i(LOGTAG, "Subscriber disconnected.");
 }
		public override void onVideoDisabled(SubscriberKit subscriber, string reason)
		{
			Log.i(LOGTAG, "Video disabled:" + reason);
			if (mSubscriber == subscriber)
			{
				AudioOnlyView = true;
			}

			if (reason.Equals("quality"))
			{
				mSubscriberQualityFragment.Congestion = SubscriberQualityFragment.CongestionLevel.High;
				congestion = SubscriberQualityFragment.CongestionLevel.High;
				setSubQualityMargins();
				mSubscriberQualityFragment.showSubscriberWidget(true);
			}
		}
Beispiel #32
0
 public override void onError(SubscriberKit subscriber, OpentokError exception)
 {
     Log.i(LOGTAG, "Subscriber exception: " + exception.Message);
 }
		public override void onVideoDisableWarning(SubscriberKit subscriber)
		{
			Log.i(LOGTAG, "Video may be disabled soon due to network quality degradation. Add UI handling here.");
			mSubscriberQualityFragment.Congestion = SubscriberQualityFragment.CongestionLevel.Mid;
			congestion = SubscriberQualityFragment.CongestionLevel.Mid;
			setSubQualityMargins();
			mSubscriberQualityFragment.showSubscriberWidget(true);
		}
Beispiel #34
0
 public void OnVideoDataReceived(SubscriberKit subscriber)
 {
     AttachSubscriberView(mSubscriber);
 }
 public void OnVideoDisabled(SubscriberKit subscriber, string reason)
 {
     // video disabled
 }
 public override void onConnected(SubscriberKit subscriber)
 {
     Log.i(LOGTAG, "Subscriber is connected: ");
 }
 public void OnVideoEnabled(SubscriberKit subscriber, string reason)
 {
     // video enabled
 }
Beispiel #38
0
 public void OnVideoDisabled(SubscriberKit p0)
 {
 }
		public override void onConnected(SubscriberKit subscriber)
		{
			Log.i(LOGTAG, "Subscriber is connected: ");

		}
Beispiel #40
0
 public void OnVideoDisabled(SubscriberKit p0)
 {
 }
		public override void onVideoDataReceived(SubscriberKit subscriber)
		{
			Log.i(LOGTAG, "First frame received");

			// stop loading spinning
			mLoadingSub.Visibility = View.GONE;
			attachSubscriberView(mSubscriber);
		}
			public override void onAudioLevelUpdated(SubscriberKit subscriber, float audioLevel)
			{
				outerInstance.mAudioLevelView.MeterValue = audioLevel;
			}
		public override void onVideoDisableWarning(SubscriberKit subscriber)
		{
			Log.i(LOGTAG, "Video may be disabled soon due to network quality degradation. Add UI handling here.");
		}
		public override void onConnected(SubscriberKit subscriber)
		{
			mLoadingSub.Visibility = View.GONE;
			mSubscriberFragment.showSubscriberWidget(true);
			mSubscriberFragment.initSubscriberUI();
		}
Beispiel #45
0
 public void OnVideoDataReceived(SubscriberKit p0)
 {
     _loadingSub.Visibility = ViewStates.Gone;
     AttachSubscriberView(_subscriber);
 }
		public override void onDisconnected(SubscriberKit subscriber)
		{
			Log.i(LOGTAG, "Subscriber disconnected.");
		}
Beispiel #47
0
 public void OnVideoEnabled(SubscriberKit p0, string p1)
 {
     throw new NotImplementedException();
 }
Beispiel #48
0
 public override void onVideoEnabled(SubscriberKit subscriber, string reason)
 {
     Log.i(LOGTAG, "Video enabled:" + reason);
 }
Beispiel #49
0
 public override void onAudioLevelUpdated(SubscriberKit subscriber, float audioLevel)
 {
     meterView.MeterValue = audioLevel;
 }
Beispiel #50
0
 public void OnVideoDataReceived(SubscriberKit p0)
 {
     _loadingSub.Visibility = ViewStates.Gone;
     AttachSubscriberView (_subscriber);
 }