Exemple #1
0
        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;
 }
Exemple #3
0
 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
                    { }
                }
            }
        }
Exemple #5
0
        protected override void Dispose(bool disposing)
        {
            _videoview?.StopPlayback();
            _videoview?.Dispose();
            _videoview = null;

            _controller?.Dispose();
            _controller = null;

            _view = null;
        }
Exemple #6
0
 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();
        }
Exemple #10
0
        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
                    { }
                }
            }
        }
Exemple #11
0
        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);
 }
Exemple #13
0
 protected override void Dismiss()
 {
     _mediaController.Dispose();
     base.Dismiss();
 }
 protected override void OnDestroy()
 {
     _mediaController.Dispose();
     _videoPlayer.Dispose();
     base.OnDestroy();
 }