Parcourir la source

Apply review suggestions

Shadowghost il y a 2 ans
Parent
commit
31712e5da9

+ 1 - 1
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -2085,7 +2085,7 @@ namespace MediaBrowser.Controller.MediaEncoding
 
             var inputChannels = audioStream.Channels ?? 0;
             var outputChannels = outputAudioChannels ?? 0;
-            var bitrate = audioBitRate.HasValue ? audioBitRate.Value : int.MaxValue;
+            var bitrate = audioBitRate ?? int.MaxValue;
 
             if (string.IsNullOrEmpty(audioCodec)
                 || string.Equals(audioCodec, "aac", StringComparison.OrdinalIgnoreCase)

+ 9 - 9
MediaBrowser.Model/Dlna/StreamBuilder.cs

@@ -23,6 +23,9 @@ namespace MediaBrowser.Model.Dlna
 
         private readonly ILogger _logger;
         private readonly ITranscoderSupport _transcoderSupport;
+        private static readonly string[] _supportedHlsVideoCodecs = new string[] { "h264", "hevc" };
+        private static readonly string[] _supportedHlsAudioCodecsTs = new string[] { "aac", "ac3", "eac3", "mp3" };
+        private static readonly string[] _supportedHlsAudioCodecsMp4 = new string[] { "aac", "ac3", "eac3", "mp3", "alac", "flac", "opus" };
 
         public StreamBuilder(ITranscoderSupport transcoderSupport, ILogger logger)
         {
@@ -774,8 +777,7 @@ namespace MediaBrowser.Model.Dlna
             // Enforce HLS video codec restrictions
             if (string.Equals(playlistItem.SubProtocol, "hls", StringComparison.OrdinalIgnoreCase))
             {
-                var supportedHlsVideoCodecs = new List<string> { "h264", "hevc" };
-                videoCodecs = videoCodecs.Where(codec => supportedHlsVideoCodecs.Contains(codec)).ToArray();
+                videoCodecs = videoCodecs.Where(codec => _supportedHlsVideoCodecs.Contains(codec)).ToArray();
             }
 
             var directVideoCodec = ContainerProfile.ContainsContainer(videoCodecs, videoStream?.Codec) ? videoStream?.Codec : null;
@@ -817,16 +819,14 @@ namespace MediaBrowser.Model.Dlna
             // Enforce HLS audio codec restrictions
             if (string.Equals(playlistItem.SubProtocol, "hls", StringComparison.OrdinalIgnoreCase))
             {
-                var supportedHlsAudioCodecs = new List<string> { "aac", "ac3", "eac3", "mp3" };
                 if (string.Equals(playlistItem.Container, "mp4", StringComparison.OrdinalIgnoreCase))
                 {
-                    // fMP4 supports more codecs than TS
-                    supportedHlsAudioCodecs.Add("alac");
-                    supportedHlsAudioCodecs.Add("flac");
-                    supportedHlsAudioCodecs.Add("opus");
+                    audioCodecs = audioCodecs.Where(codec => _supportedHlsAudioCodecsMp4.Contains(codec)).ToArray();
+                }
+                else
+                {
+                    audioCodecs = audioCodecs.Where(codec => _supportedHlsAudioCodecsTs.Contains(codec)).ToArray();
                 }
-
-                audioCodecs = audioCodecs.Where(codec => supportedHlsAudioCodecs.Contains(codec)).ToArray();
             }
 
             var directAudioStream = candidateAudioStreams.FirstOrDefault(stream => ContainerProfile.ContainsContainer(audioCodecs, stream.Codec));