public void OnPeerFactoryCreated(IPeerConnectionFactory factory) { var androidFactory = (IPeerConnectionFactoryAndroid)factory.NativeObject; PipScreenRenderer.Init(androidFactory.EglBaseContext, null); FullScreenRenderer.Init(androidFactory.EglBaseContext, null); }
void SetActivity() { CallPageActivity = this.Context as Activity; CallView = CallPageActivity.LayoutInflater.Inflate(Resource.Layout.activity_call, this, false); FullScreenRenderer = CallView.FindViewById <SurfaceViewRenderer>(Resource.Id.fullscreen_video_view); PipScreenRenderer = CallView.FindViewById <SurfaceViewRenderer>(Resource.Id.pip_video_view); CallFragment = CreateCallFragment(CallPageActivity.Intent); LocalVideoRenderer = new VideoRendererProxy(); RemoteVideoRenderer = new VideoRendererProxy(); PipScreenRenderer.Click += PipScreenRenderer_Click; PipScreenRenderer.SetScalingType(RendererCommon.ScalingType.ScaleAspectFit); PipScreenRenderer.SetZOrderMediaOverlay(true); PipScreenRenderer.SetEnableHardwareScaler(true); FullScreenRenderer.Click += FullScreenRenderer_Click; FullScreenRenderer.SetScalingType(RendererCommon.ScalingType.ScaleAspectFill); FullScreenRenderer.SetEnableHardwareScaler(false); SetSwappedFeeds(true); var fragmentTransaction = MainActivity.Instance.SupportFragmentManager.BeginTransaction(); fragmentTransaction.Add(Resource.Id.call_fragment_container, CallFragment); fragmentTransaction.Commit(); CallController = CreateController(); Connect(CallController, CallPageActivity.Intent); }
private void SetSwappedFeeds(bool isSwappedFeed) { IsSwappedFeed = isSwappedFeed; LocalVideoRenderer.Renderer = IsSwappedFeed ? FullScreenRenderer : PipScreenRenderer; RemoteVideoRenderer.Renderer = IsSwappedFeed ? PipScreenRenderer : FullScreenRenderer; FullScreenRenderer.SetMirror(isSwappedFeed); PipScreenRenderer.SetMirror(!isSwappedFeed); }
private void Disconnect() { CallController?.Disconnect(); CallController = null; PipScreenRenderer?.Release(); PipScreenRenderer = null; FullScreenRenderer?.Release(); FullScreenRenderer = null; CallPageActivity?.Finish(); }