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}"); } }
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}"); } }