private void RecordButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (aviWriter == null || aviWriter.IsClosed)
                {
                    int frameRate = Int32.Parse(FrameRateTextBox.Text);

                    SaveFileDialog d = new SaveFileDialog();
                    d.Filter     = "AVI | *.avi";
                    d.DefaultExt = "avi";
                    bool?k = d.ShowDialog();
                    if (!k.HasValue || !k.Value)
                    {
                        return;
                    }

                    aviWriter = new AviWriterJPGCompressed(d.OpenFile(), FRAME_WIDTH, FRAME_HEIGHT, frameRate);
                }

                RecordButton.IsEnabled     = false;
                PauseButton.IsEnabled      = true;
                StopButton.IsEnabled       = true;
                FrameRateTextBox.IsEnabled = false;

                /*
                 * Start capturing screen.
                 */
                SendData("run");
            }
            catch (Exception exp)
            {
                updateDetailLogLabel("\n" + exp.Message);
            }
        }
        private void RecordButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (aviWriter == null || aviWriter.IsClosed)
                {
                    int frameRate = Int32.Parse(FrameRateTextBox.Text);

                    SaveFileDialog d = new SaveFileDialog();
                    d.Filter = "AVI | *.avi";
                    d.DefaultExt = "avi";
                    bool? k = d.ShowDialog();
                    if (!k.HasValue || !k.Value)
                        return;

                    aviWriter = new AviWriterJPGCompressed(d.OpenFile(), FRAME_WIDTH, FRAME_HEIGHT, frameRate);
                }

                RecordButton.IsEnabled = false;
                PauseButton.IsEnabled = true;
                StopButton.IsEnabled = true;
                FrameRateTextBox.IsEnabled = false;

                /*
                 * Start capturing screen.
                 */
                SendData("run");
            }
            catch (Exception exp)
            {
                updateDetailLogLabel("\n" + exp.Message);
            }
        }