private void PublishRemoteVideoStream(RemoteVideoStream v) { _remoteVideoStreams.Add(v); var renderer = new VideoStreamRenderer(v, MainActivity.Instance); var renderingOptions = new CreateViewOptions(ScalingMode.Crop); var nativeView = renderer.CreateView(renderingOptions); var formsView = nativeView.ToView(); RemoteVideoAdded?.Invoke(this, formsView); }
private void RemoteVideoStreamAdded(ACSRemoteVideoStream remoteVideoStream) { if (!remoteVideoStream.IsAvailable || _remoteVideoStreams.Any(s => s.Id == remoteVideoStream.Id)) { return; } _remoteVideoStreams.Add(remoteVideoStream); Device.BeginInvokeOnMainThread(() => { var renderer = new ACSVideoStreamRenderer(remoteVideoStream, out var rendererError); ThrowIfError(rendererError); var renderingOptions = new ACSRenderingOptions(ACSScalingMode.Crop); var nativeView = renderer.CreateViewWithOptions(renderingOptions, out var createViewError); ThrowIfError(createViewError); var formsView = nativeView.ToView(); RemoteVideoAdded?.Invoke(this, formsView); }); }