void CamPreviewProcessor_PreviewFrameAvailable(object sender, CameraPreviewEventArgs e)
        {
            var handler = PreviewFrameAvailable;

            if (handler != null)
            {
                handler(this, e);
            }
        }
        void OnPreviewFrame(object sender, CameraPreviewEventArgs e)
        {
            if (watch.IsRunning)
            {
                watch.Stop();
                System.Diagnostics.Debug.WriteLine($"{nameof(MainActivity)} :: {nameof(OnPreviewFrame)} :: New preview frame after: {watch.ElapsedMilliseconds}");
                watch = new Stopwatch();
            }
            watch.Start();

            if ((lastFrame?.FrameOrder ?? -1) >= e.FrameOrder)
            {
                return;
            }
            lock (sync)
            {
                if ((lastFrame?.FrameOrder ?? -1) >= e.FrameOrder)
                {
                    return;
                }
                lastFrame = e;
                //previewSize = new Size(e.Width, e.Height);
            }
        }