Quellcode durchsuchen

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

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
Nyanmisaka vor 1 Jahr
Ursprung
Commit
c74d3e62d0
1 geänderte Dateien mit 3 neuen und 5 gelöschten Zeilen
  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 bitStreamArgs = EncodingHelper.GetAudioBitStreamArguments(state, state.Request.SegmentContainer, state.MediaSource.Container);
 
         if (!state.IsOutputVideo)
         {
             if (EncodingHelper.IsCopyCodec(audioCodec))
             {
-                var bitStreamArgs = EncodingHelper.GetAudioBitStreamArguments(state, state.Request.SegmentContainer, state.MediaSource.Container);
-
                 return "-acodec copy -strict -2" + bitStreamArgs;
             }
 
             var audioTranscodeParams = string.Empty;
 
-            audioTranscodeParams += "-acodec " + audioCodec;
+            audioTranscodeParams += "-acodec " + audioCodec + bitStreamArgs;
 
             var audioBitrate = state.OutputAudioBitrate;
             var audioChannels = state.OutputAudioChannels;
@@ -1761,7 +1760,6 @@ public class DynamicHlsController : BaseJellyfinApiController
         if (EncodingHelper.IsCopyCodec(audioCodec))
         {
             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;
 
             if (EncodingHelper.IsCopyCodec(videoCodec) && state.EnableBreakOnNonKeyFrames(videoCodec))
@@ -1772,7 +1770,7 @@ public class DynamicHlsController : BaseJellyfinApiController
             return copyArgs;
         }
 
-        var args = "-codec:a:0 " + audioCodec + strictArgs;
+        var args = "-codec:a:0 " + audioCodec + bitStreamArgs + strictArgs;
 
         var channels = state.OutputAudioChannels;