summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorsr55 <[email protected]>2018-06-15 19:51:24 +0100
committersr55 <[email protected]>2018-06-15 19:51:24 +0100
commita883f4611db52230835b388dda1d20b38a999daf (patch)
treeeb1881f505467aa65fed58f1e1770a422ce53675 /win
parent090b6a925470ccdf773427c76e90ccc6e0b930f1 (diff)
WinGui: Fix a potential crash in HandBrakeEncoderHelpers.cs
Diffstat (limited to 'win')
-rw-r--r--win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs41
1 files changed, 21 insertions, 20 deletions
diff --git a/win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs b/win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs
index db5744315..f684d7367 100644
--- a/win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs
+++ b/win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs
@@ -244,15 +244,15 @@ namespace HandBrake.Interop.Interop
return Mixdowns.SingleOrDefault(m => m.ShortName == shortName);
}
- /// <summary>
- /// Gets the mixdown with the specified ID.
- /// </summary>
- /// <param name="id">The mixdown ID.</param>
- /// <returns>The requested mixdown.</returns>
- public static HBMixdown GetMixdown(int id)
- {
- return Mixdowns.SingleOrDefault(m => m.Id == id);
- }
+ /// <summary>
+ /// Gets the mixdown with the specified ID.
+ /// </summary>
+ /// <param name="id">The mixdown ID.</param>
+ /// <returns>The requested mixdown.</returns>
+ public static HBMixdown GetMixdown(int id)
+ {
+ return Mixdowns.SingleOrDefault(m => m.Id == id);
+ }
/// <summary>
/// Gets the container with the specified short name.
@@ -468,7 +468,7 @@ namespace HandBrake.Interop.Interop
/// </returns>
public static HBMixdown SanitizeMixdown(HBMixdown mixdown, HBAudioEncoder encoder, ulong layout)
{
- if (mixdown == null)
+ if (mixdown == null || encoder == null)
{
return null;
}
@@ -478,6 +478,7 @@ namespace HandBrake.Interop.Interop
{
return Mixdowns.Single(m => m.Id == sanitizedMixdown);
}
+
return Mixdowns.FirstOrDefault(); // "none"
}
@@ -499,16 +500,16 @@ namespace HandBrake.Interop.Interop
return Mixdowns.Single(m => m.Id == defaultMixdown);
}
- /// <summary>
- /// Sanitizes the given sample rate for the given encoder.
- /// </summary>
- /// <param name="encoder">The encoder.</param>
- /// <param name="sampleRate">The sample rate to sanitize.</param>
- /// <returns>The sanitized sample rate.</returns>
- public static int SanitizeSampleRate(HBAudioEncoder encoder, int sampleRate)
- {
- return HBFunctions.hb_audio_samplerate_find_closest(sampleRate, (uint)encoder.Id);
- }
+ /// <summary>
+ /// Sanitizes the given sample rate for the given encoder.
+ /// </summary>
+ /// <param name="encoder">The encoder.</param>
+ /// <param name="sampleRate">The sample rate to sanitize.</param>
+ /// <returns>The sanitized sample rate.</returns>
+ public static int SanitizeSampleRate(HBAudioEncoder encoder, int sampleRate)
+ {
+ return HBFunctions.hb_audio_samplerate_find_closest(sampleRate, (uint)encoder.Id);
+ }
/// <summary>
/// Gets the bitrate limits for the given audio codec, sample rate and mixdown.