]> granicus.if.org Git - handbrake/commitdiff
WinGui: Fix a potential crash in HandBrakeEncoderHelpers.cs
authorsr55 <sr55.hb@outlook.com>
Fri, 15 Jun 2018 18:51:24 +0000 (19:51 +0100)
committersr55 <sr55.hb@outlook.com>
Fri, 15 Jun 2018 18:51:24 +0000 (19:51 +0100)
win/CS/HandBrake.Interop/Interop/HandBrakeEncoderHelpers.cs

index db5744315d3c0f1367f9866a2f03e4fc6f898a99..f684d7367cf53dc3686332e3a0625c85a617d7eb 100644 (file)
@@ -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.