\r
if (!string.IsNullOrEmpty(presetJson))\r
{\r
+ // Check to see if we have a list of presets.\r
+ if (presetJson.StartsWith("["))\r
+ {\r
+ presetJson = "{ \"PresetList\":" + presetJson + " } ";\r
+ }\r
+\r
PresetTransportContainer preset = JsonConvert.DeserializeObject<PresetTransportContainer>(presetJson);\r
+\r
return preset;\r
}\r
\r
preset.Task.VideoTunes.Add(new VideoTune(item, item));\r
}\r
}\r
- preset.Task.Framerate = importedPreset.VideoFramerate == "auto" || string.IsNullOrEmpty(importedPreset.VideoFramerate)\r
+ preset.Task.Framerate = importedPreset.VideoFramerate == "auto" || importedPreset.VideoFramerate == "Same as source" || string.IsNullOrEmpty(importedPreset.VideoFramerate)\r
? (double?)null\r
: double.Parse(importedPreset.VideoFramerate, CultureInfo.InvariantCulture);\r
string parsedValue = importedPreset.VideoFramerateMode;\r
track.MixDown = HandBrakeEncoderHelpers.GetMixdown(audioTrack.AudioMixdown);\r
\r
// track.AudioNormalizeMixLevel = audioTrack.AudioNormalizeMixLevel;\r
- track.SampleRate = audioTrack.AudioSamplerate == "auto" ? 0 : double.Parse(audioTrack.AudioSamplerate);\r
+ track.SampleRate = string.IsNullOrEmpty(audioTrack.AudioSamplerate) || audioTrack.AudioSamplerate.ToLower() == "auto" ? 0 : double.Parse(audioTrack.AudioSamplerate);\r
\r
track.EncoderRateType = audioTrack.AudioTrackQualityEnable ? AudioEncoderRateType.Quality : AudioEncoderRateType.Bitrate;\r
track.Quality = audioTrack.AudioTrackQuality;\r
HBVideoEncoder encoder = HandBrakeEncoderHelpers.VideoEncoders.FirstOrDefault(s => s.ShortName == EnumHelper<VideoEncoder>.GetShortName(this.SelectedVideoEncoder));\r
if (encoder != null)\r
{\r
- string preset = encoder.Presets[value];\r
- this.VideoPreset = new VideoPreset(preset, preset);\r
+ string preset = value >= 0 ? encoder.Presets[value] : null;\r
+ this.VideoPreset = preset != null ?new VideoPreset(preset, preset) : this.VideoPresets.FirstOrDefault();\r
}\r
\r
this.NotifyOfPropertyChange(() => this.VideoPresetValue);\r