Beispiel #1
0
        public void OnEndpointEvent(EndpointSdkEvent sdkEvent)
        {
            var endpoint = CallManager.Instance.GetEndpoint(sdkEvent.EndpointId);

            if (endpoint != null)
            {
                endpoint.OnEvent(sdkEvent);
            }
            else
            {
                Debug.LogError($"Unknown Endpoint with EndpointId = {sdkEvent.EndpointId}");
            }
        }
Beispiel #2
0
        public void OnEvent(EndpointSdkEvent endpointEvent)
        {
            Debug.Log($"Event {endpointEvent.Event} received by Endpoint {EndpointId}");
            if (endpointEvent.Event.Equals("Removed"))
            {
                Dispose();
                Removed?.Invoke(this);
            }
            else if (endpointEvent.Event.Equals("InfoUpdated"))
            {
                InfoUpdated?.Invoke(this);
            }
            else if (endpointEvent.Event.Equals("RemoteVideoStreamAdded"))
            {
                var eventArgs   = endpointEvent.GetEventArgs <EndpointRemoteVideoStreamAddedEventArgs>();
                var videoStream = CreateVideoStream(eventArgs.streamId);
                _videoStreams[eventArgs.streamId] = videoStream;
                eventArgs.VideoStream             = videoStream;

                RemoteVideoStreamAdded?.Invoke(this, eventArgs);
            }
            else if (endpointEvent.Event.Equals("RemoteVideoStreamRemoved"))
            {
                var eventArgs = endpointEvent.GetEventArgs <EndpointRemoteVideoStreamRemovedEventArgs>();
                if (!_videoStreams.ContainsKey(eventArgs.streamId))
                {
                    return;
                }

                var videoStream = _videoStreams[eventArgs.streamId];
                _videoStreams.Remove(eventArgs.streamId);

                eventArgs.VideoStream = videoStream;
                videoStream.Dispose();

                RemoteVideoStreamRemoved?.Invoke(this, eventArgs);
            }
            else
            {
                Debug.LogError($"Unexpected Event {endpointEvent.Event} for Endpoint {EndpointId}");
            }
        }