private void getVideoInfo() { Video video = new Video(fileName); Converter = new Converter(video); Converter.ProgressChanged += new ProgressChangedEventHandler(converter_ProgressChanged); Converter.AllFinished += new AllFinishedEventHander(converter_AllFinished); try { Converter.VideoInfo(); foreach (CheckBox resolutionCheckBox in resolutions) { int height = int.Parse((string)resolutionCheckBox.Tag); resolutionCheckBox.IsEnabled = (video.Size.Height >= height || video.Size.Width >= (int)Math.Ceiling((double)height * 16 / 9)); if (resolutionCheckBox.IsEnabled) { Size newSize = video.NewSize(height); BitRate newBitRate = video.ComputeNewBitRate(newSize); double expectedSize = (((newBitRate.Video + newBitRate.Audio) * video.Duration.TotalSeconds) / 8000); // in MB resolutionCheckBox.ToolTip = string.Format("{0}, {1} kb/s, ≈{2} MB", newSize.ToString("×"), newBitRate.Video, expectedSize.ToString("F")); } } } catch (ConverterException e) { height1080.IsEnabled = height720.IsEnabled = height480.IsEnabled = true; height1080.ToolTip = height720.ToolTip = height480.ToolTip = null; throw e; } }