public MediaElementRenderer(Context context) : base(context)
        {
            Xamarin.Forms.MediaElement.VerifyMediaElementFlagEnabled(nameof(MediaElementRenderer));
            _automationPropertiesProvider = new AutomationPropertiesProvider(this);
            _effectControlProvider        = new EffectControlProvider(this);

            _view = new FormsVideoView(Context);
            _view.SetZOrderMediaOverlay(true);
            _view.SetOnCompletionListener(this);
            _view.SetOnInfoListener(this);
            _view.SetOnPreparedListener(this);
            _view.SetOnErrorListener(this);
            _view.MetadataRetrieved += MetadataRetrieved;

            AddView(_view, -1, -1);

            _controller = new MediaController(Context);
            _controller.SetAnchorView(this);
            _view.SetMediaController(_controller);
        }
        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;
            }
        }