Beispiel #1
0
        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);
     });
 }