瀏覽代碼

hlx fixes

Luke Pulverenti 12 年之前
父節點
當前提交
35d512e661
共有 1 個文件被更改,包括 13 次插入3 次删除
  1. 13 3
      MediaBrowser.Api/Playback/Hls/BaseHlsService.cs

+ 13 - 3
MediaBrowser.Api/Playback/Hls/BaseHlsService.cs

@@ -91,6 +91,15 @@ namespace MediaBrowser.Api.Playback.Hls
         /// <returns>Task{System.Object}.</returns>
         public async Task<object> ProcessRequestAsync(StreamState state)
         {
+            if (!state.VideoRequest.VideoBitRate.HasValue)
+            {
+                throw new ArgumentException("A video bitrate is required");
+            }
+            if (!state.Request.AudioBitRate.HasValue)
+            {
+                throw new ArgumentException("An audio bitrate is required");
+            }
+
             var playlist = GetOutputFilePath(state);
             var isPlaylistNewlyCreated = false;
 
@@ -110,7 +119,7 @@ namespace MediaBrowser.Api.Playback.Hls
                 await WaitForMinimumSegmentCount(playlist, 3).ConfigureAwait(false);
             }
 
-            var playlistText = GetMasterPlaylistFileText(playlist, state.VideoRequest.VideoBitRate.Value);
+            var playlistText = GetMasterPlaylistFileText(playlist, state.VideoRequest.VideoBitRate.Value + state.Request.AudioBitRate.Value);
 
             try
             {
@@ -234,8 +243,9 @@ namespace MediaBrowser.Api.Playback.Hls
             {
                 var lowBitratePath = Path.Combine(Path.GetDirectoryName(outputPath), Path.GetFileNameWithoutExtension(outputPath) + "-low.m3u8");
 
-                var lowBitrateParams = string.Format(" -threads 0 -vn -codec:a:0 aac -strict experimental -ac 2 -ab 64000 -hls_time 10 -start_number 0 -hls_list_size 1440 \"{0}\"",
-                    lowBitratePath);
+                var lowBitrateParams = string.Format(" -threads 0 -vn -codec:a:{1} aac -strict experimental -ac 2 -ab 64000 -hls_time 10 -start_number 0 -hls_list_size 1440 \"{0}\"",
+                    lowBitratePath,
+                    state.AudioStream.Index);
 
                 args += " " + lowBitrateParams;
             }