private void cbVideoSource_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            string val = e.AddedItems[0].ToString();

            if (string.IsNullOrEmpty(val))
            {
                return;
            }

            _videoCapture.Video_CaptureDevice_Name = val;
            _videoCapture.Video_CaptureDevice_ReadFormats();

            // enumerate video formats
            cbVideoFormat.Items.Clear();

            foreach (var format in _videoCapture.Video_CaptureDevice_Formats)
            {
                cbVideoFormat.Items.Add(format);
            }

            if (cbVideoFormat.Items.Count > 0)
            {
                cbVideoFormat.SelectedIndex = 0;
            }

            // enumerate video frame rates
            cbVideoFrameRate.Items.Clear();

            foreach (var frameRate in _videoCapture.Video_CaptureDevice_FrameRates)
            {
                cbVideoFrameRate.Items.Add(frameRate);
            }

            if (cbVideoFrameRate.Items.Count > 0)
            {
                cbVideoFrameRate.SelectedIndex = 0;
            }
        }