From 1c5cdd2e5767b3b25df9da740034e1f05a43d271 Mon Sep 17 00:00:00 2001 From: sr55 Date: Tue, 21 Jan 2014 20:27:57 +0000 Subject: WinGui: Make the Preset Plist importer a bit more robust by checking versions and automatically falling back to a value for invalid key/value pairs from old versions. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5988 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- .../HandBrake.ApplicationServices/Utilities/EnumHelper.cs | 5 ++++- .../Utilities/PlistUtility.cs | 14 +++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'win/CS/HandBrake.ApplicationServices') diff --git a/win/CS/HandBrake.ApplicationServices/Utilities/EnumHelper.cs b/win/CS/HandBrake.ApplicationServices/Utilities/EnumHelper.cs index cc7dfc43e..45988ba60 100644 --- a/win/CS/HandBrake.ApplicationServices/Utilities/EnumHelper.cs +++ b/win/CS/HandBrake.ApplicationServices/Utilities/EnumHelper.cs @@ -14,6 +14,7 @@ namespace HandBrake.ApplicationServices.Utilities using System.Collections.ObjectModel; using System.ComponentModel; using System.ComponentModel.DataAnnotations; + using System.Diagnostics; using System.Linq; using System.Reflection; @@ -91,7 +92,9 @@ namespace HandBrake.ApplicationServices.Utilities } } - throw new ArgumentOutOfRangeException("The Description for the enum was not recognized."); + Debug.WriteLine("EnumHelper.GetValue: The Description for the enum was not recognized: " + description); + + return default(T); } /// diff --git a/win/CS/HandBrake.ApplicationServices/Utilities/PlistUtility.cs b/win/CS/HandBrake.ApplicationServices/Utilities/PlistUtility.cs index 3ddb1ff51..25c3a1426 100644 --- a/win/CS/HandBrake.ApplicationServices/Utilities/PlistUtility.cs +++ b/win/CS/HandBrake.ApplicationServices/Utilities/PlistUtility.cs @@ -276,13 +276,13 @@ namespace HandBrake.ApplicationServices.Utilities if (parsed.FastDecode) { tune = tune == "none" ? "fastdecode" : tune + ",fastdecode"; - } - AddEncodeElement(xmlWriter, "x264Tune", "string", tune); - AddEncodeElement(xmlWriter, "x264UseAdvancedOptions", "integer", parsed.ShowAdvancedTab ? "1" : "0"); - AddEncodeElement(xmlWriter, "qsvPreset", "string", parsed.QsvPreset.ToString().ToLower()); - - int videoQualityType = 0; - if (parsed.VideoBitrate != null) videoQualityType = 1; + } + AddEncodeElement(xmlWriter, "x264Tune", "string", tune); + AddEncodeElement(xmlWriter, "x264UseAdvancedOptions", "integer", parsed.ShowAdvancedTab ? "1" : "0"); + AddEncodeElement(xmlWriter, "qsvPreset", "string", parsed.QsvPreset.ToString().ToLower()); + + int videoQualityType = 0; + if (parsed.VideoBitrate != null) videoQualityType = 1; else if (parsed.Quality != null) videoQualityType = 2; AddEncodeElement(xmlWriter, "VideoQualityType", "integer", videoQualityType.ToString()); -- cgit v1.2.3