public MainForm()
        {
            InitializeComponent();

            registry = new InterceptorRegistry();
            filtersController = new FilterController(registry);
            InitFilters();

            controller = new MediaController(Handle, panelVideo, filtersController);
            controller.FormatChanged += (s, e) => statusCurrentFormat.Text = e.Data;
            controller.VideoWindowSizeChanged += (s, e) => statusVideoWindowSize.Text = e.Data;
            controller.FpsChanged += (s, e) =>
                {
                    var action = new Action(() => statusFPS.Text = e.Data());
                    if (InvokeRequired)
                    {
                        Invoke(action);
                    }
                    else
                    {
                        action();
                    }
                };

            Resize += FormResize;
        }
 public MediaController(IntPtr ownerHandle, Control videoWindowControl, FilterController filtersController)
 {
     this.ownerHandle = ownerHandle;
     this.filtersController = filtersController;
     this.videoWindowControl = videoWindowControl;
 }