瀏覽代碼

Fix the issue that audio bsf only takes effect for remuxing (#10172)

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
Nyanmisaka 1 年之前
父節點
當前提交
c74d3e62d0
共有 1 個文件被更改,包括 3 次插入5 次删除
  1. 3 5
      Jellyfin.Api/Controllers/DynamicHlsController.cs

+ 3 - 5
Jellyfin.Api/Controllers/DynamicHlsController.cs

@@ -1703,19 +1703,18 @@ public class DynamicHlsController : BaseJellyfinApiController
         }
         }
 
 
         var audioCodec = _encodingHelper.GetAudioEncoder(state);
         var audioCodec = _encodingHelper.GetAudioEncoder(state);
+        var bitStreamArgs = EncodingHelper.GetAudioBitStreamArguments(state, state.Request.SegmentContainer, state.MediaSource.Container);
 
 
         if (!state.IsOutputVideo)
         if (!state.IsOutputVideo)
         {
         {
             if (EncodingHelper.IsCopyCodec(audioCodec))
             if (EncodingHelper.IsCopyCodec(audioCodec))
             {
             {
-                var bitStreamArgs = EncodingHelper.GetAudioBitStreamArguments(state, state.Request.SegmentContainer, state.MediaSource.Container);
-
                 return "-acodec copy -strict -2" + bitStreamArgs;
                 return "-acodec copy -strict -2" + bitStreamArgs;
             }
             }
 
 
             var audioTranscodeParams = string.Empty;
             var audioTranscodeParams = string.Empty;
 
 
-            audioTranscodeParams += "-acodec " + audioCodec;
+            audioTranscodeParams += "-acodec " + audioCodec + bitStreamArgs;
 
 
             var audioBitrate = state.OutputAudioBitrate;
             var audioBitrate = state.OutputAudioBitrate;
             var audioChannels = state.OutputAudioChannels;
             var audioChannels = state.OutputAudioChannels;
@@ -1761,7 +1760,6 @@ public class DynamicHlsController : BaseJellyfinApiController
         if (EncodingHelper.IsCopyCodec(audioCodec))
         if (EncodingHelper.IsCopyCodec(audioCodec))
         {
         {
             var videoCodec = _encodingHelper.GetVideoEncoder(state, _encodingOptions);
             var videoCodec = _encodingHelper.GetVideoEncoder(state, _encodingOptions);
-            var bitStreamArgs = EncodingHelper.GetAudioBitStreamArguments(state, state.Request.SegmentContainer, state.MediaSource.Container);
             var copyArgs = "-codec:a:0 copy" + bitStreamArgs + strictArgs;
             var copyArgs = "-codec:a:0 copy" + bitStreamArgs + strictArgs;
 
 
             if (EncodingHelper.IsCopyCodec(videoCodec) && state.EnableBreakOnNonKeyFrames(videoCodec))
             if (EncodingHelper.IsCopyCodec(videoCodec) && state.EnableBreakOnNonKeyFrames(videoCodec))
@@ -1772,7 +1770,7 @@ public class DynamicHlsController : BaseJellyfinApiController
             return copyArgs;
             return copyArgs;
         }
         }
 
 
-        var args = "-codec:a:0 " + audioCodec + strictArgs;
+        var args = "-codec:a:0 " + audioCodec + bitStreamArgs + strictArgs;
 
 
         var channels = state.OutputAudioChannels;
         var channels = state.OutputAudioChannels;