public bool TryCreateTransformer(HttpRequestBase request, IFormatInfo originalFormat, IFormatInfoProvider formatInfoProvider, out IMediaTransformer mediaTransformer)
        {
            if (!CanHandleFormat(originalFormat))
            {
                mediaTransformer = null;
                return(false);
            }

            if (!IsValidFilePath(request.Url.AbsolutePath))
            {
                mediaTransformer = null;
                return(false);
            }

            IFormatInfo outputFormat;

            if (!TryGetOutputFormat(request, originalFormat, formatInfoProvider, out outputFormat))
            {
                mediaTransformer = null;
                return(false);
            }

            mediaTransformer = new MediaTransformer(outputFormat, this);
            return(true);
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            context = this;

            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            SetContentView(Resource.Layout.activity_main);

            var toolbar = FindViewById<Toolbar>(Resource.Id.toolbar);
            SetSupportActionBar(toolbar);

            var processButton = FindViewById<Button>(Resource.Id.processButton);
            processButton.Click += ProcessButton_Click;

            _playerView = FindViewById<PlayerView>(Resource.Id.playerView);

            _sourceMedia = new SourceMedia();
            _targetMedia = new TargetMedia();
            _transformationState = new TransformationState();
            _trimConfig = new TrimConfig();

            _mediaTransformer = new MediaTransformer(this);


            var builder = new SimpleExoPlayer.Builder(this);
            _player = builder.Build();

            _player.PlayWhenReady = true;
            _playerView.Player = _player;
        }
        public bool TryCreateTransformer(HttpRequestBase request, IFormatInfo originalFormat, IFormatInfoProvider formatInfoProvider, out IMediaTransformer mediaTransformer)
        {
            if (!CanHandleFormat(originalFormat))
            {
                mediaTransformer = null;
                return false;
            }

            if(!IsValidFilePath(request.Url.AbsolutePath))
            {
                mediaTransformer = null;
                return false;
            }

            IFormatInfo outputFormat;
            if( !TryGetOutputFormat(request, originalFormat, formatInfoProvider, out outputFormat) )
            {
                mediaTransformer = null;
                return false;
            }

            mediaTransformer = new MediaTransformer(outputFormat, this);
            return true;
        }