protected override void Dispose(bool disposing) { if (Control != null) { Control.RemoveAllViews(); } if (_view != null) { _view.SetOnPreparedListener(null); _view.SetOnCompletionListener(null); _view.Dispose(); _view = null; } if (_controller != null) { _controller.Dispose(); _controller = null; } if (_mediaPlayer != null) { _mediaPlayer.Dispose(); _mediaPlayer = null; } base.Dispose(disposing); }
public void StopSendingAudioToRoom() { _captureSource.Stop(); _captureSource = null; _mediaController.Dispose(); _mediaController = null; _audioSinkAdapter = null; }
public void Disconnect() { MediaController.MediaStats.Counters.CollectionChanged -= Counters_CollectionChanged; foreach (var mediaServerKpi in MediaServerKpis) { mediaServerKpi.Dispose(); } MediaController.Dispose(); }
protected override void OnElementChanged(ElementChangedEventArgs <MediaElement> e) { base.OnElementChanged(e); if (e.OldElement != null) { e.OldElement.SetRenderer(null); if (_view != null) { _view.Prepared -= Control_Prepared; _view.SetOnCompletionListener(null); _view.Dispose(); } if (_controller != null) { _controller.Dispose(); _controller = null; } } if (e.NewElement != null) { if (!DesignMode.DesignModeEnabled) { try { e.NewElement.SetRenderer(this); _view = new VideoViewEx(Context); SetNativeControl(new FrameLayout(Context));// new VideoViewEx(Context)); Control.LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent); //_view.LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent); //_view.SetZOrderOnTop(true); _view.SetZOrderMediaOverlay(true); _view.Prepared += Control_Prepared; _view.SetOnCompletionListener(this); _view.SetOnPreparedListener(this); _view.KeepScreenOn = Element.KeepScreenOn; Control.AddView(_view); //Control.ForceLayout(); _controller = new MediaController(Context); _controller.SetAnchorView(_view); _controller.Visibility = Element.AreTransportControlsEnabled ? ViewStates.Visible : ViewStates.Gone; _view.SetMediaController(_controller); UpdateSource(); } catch { } } } }
protected override void Dispose(bool disposing) { _videoview?.StopPlayback(); _videoview?.Dispose(); _videoview = null; _controller?.Dispose(); _controller = null; _view = null; }
public override void OnSessionDestroyed() { StopPlayback(_currentToken); //Just in case... to avoid memory leaks. Jukebox.MediaEvent -= Jukebox_MediaEvent; _playbackState?.Dispose(); _transportControls?.Dispose(); _mediaMetadata?.Dispose(); _currentMediaController?.Dispose(); instance = null; Log.Info("LiveDisplay", "MusicController dispose method"); base.OnSessionDestroyed(); }
public void StopTimingTest() { Status = ""; _captureSource.Stop(); if (_mediaElement != null) { _mediaElement.Stop(); _mediaElement = null; } if (_mediaController != null) { _mediaController.Dispose(); } }
protected override void Dispose(bool disposing) { if (Control != null && videoView != null) { videoView.Prepared -= OnVideoViewPrepared; } if (Element != null) { Element.UpdateStatus -= OnUpdateStatus; } mediaController?.Dispose(); videoView?.Dispose(); base.Dispose(disposing); }
public void MediaControllerConnectTest() { bool connected = false; MediaController controller = MediaController.GetMediaController(); Assert.IsFalse(controller.IsAvailable); controller.LocalMediaAvailable += (s, e) => { Assert.IsTrue(controller.IsAvailable); controller.Dispose(); connected = true; }; controller.Connect(); EnqueueConditional(() => connected); EnqueueTestComplete(); }
protected override void OnElementChanged(ElementChangedEventArgs <MediaElement> e) { base.OnElementChanged(e); if (e.OldElement != null) { e.OldElement.SetRenderer(null); if (Control != null) { Control.Prepared -= Control_Prepared; Control.SetOnCompletionListener(null); Control.Dispose(); } if (_controller != null) { _controller.Dispose(); _controller = null; } } if (e.NewElement != null) { if (!DesignMode.DesignModeEnabled) { try { SetNativeControl(new VideoView(Context)); e.NewElement.SetRenderer(this); Control.Prepared += Control_Prepared; Control.SetOnCompletionListener(this); Control.KeepScreenOn = Element.KeepScreenOn; _controller = new MediaController(Context); _controller.Visibility = Element.AreTransportControlsEnabled ? ViewStates.Visible : ViewStates.Gone; Control.SetMediaController(_controller); UpdateSource(); } catch { } } } }
void ReleaseControl() { if (_view != null) { _view.MetadataRetrieved -= MetadataRetrieved; RemoveView(_view); _view.SetOnPreparedListener(null); _view.SetOnCompletionListener(null); _view.Dispose(); _view = null; } if (_controller != null) { _controller.Dispose(); _controller = null; } if (_mediaPlayer != null) { _mediaPlayer.Dispose(); _mediaPlayer = null; } }
private void CheckError(Exception error, MediaController controller) { controller.Dispose(); Assert.IsNull(error); }
protected override void Dismiss() { _mediaController.Dispose(); base.Dismiss(); }
protected override void OnDestroy() { _mediaController.Dispose(); _videoPlayer.Dispose(); base.OnDestroy(); }