浏览代码

Merge pull request #10321 from feilongfl/master

Bond-009 1 年之前
父节点
当前提交
1141883f77
共有 2 个文件被更改,包括 11 次插入0 次删除
  1. 5 0
      Jellyfin.Api/Helpers/StreamingHelpers.cs
  2. 6 0
      MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

+ 5 - 0
Jellyfin.Api/Helpers/StreamingHelpers.cs

@@ -191,6 +191,11 @@ public static class StreamingHelpers
             state.OutputAudioBitrate = encodingHelper.GetAudioBitrateParam(streamingRequest.AudioBitRate, streamingRequest.AudioCodec, state.AudioStream, state.OutputAudioChannels) ?? 0;
         }
 
+        if (outputAudioCodec.StartsWith("pcm_", StringComparison.Ordinal))
+        {
+            containerInternal = ".pcm";
+        }
+
         state.OutputAudioCodec = outputAudioCodec;
         state.OutputContainer = (containerInternal ?? string.Empty).TrimStart('.');
         state.OutputAudioChannels = encodingHelper.GetNumAudioChannelsParam(state, state.AudioStream, state.OutputAudioCodec);

+ 6 - 0
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -6249,6 +6249,12 @@ namespace MediaBrowser.Controller.MediaEncoding
                 audioTranscodeParams.Add("-acodec " + GetAudioEncoder(state));
             }
 
+            if (GetAudioEncoder(state).StartsWith("pcm_", StringComparison.Ordinal))
+            {
+                audioTranscodeParams.Add(string.Concat("-f ", GetAudioEncoder(state).AsSpan(4)));
+                audioTranscodeParams.Add("-ar " + state.BaseRequest.AudioBitRate);
+            }
+
             if (!string.Equals(outputCodec, "opus", StringComparison.OrdinalIgnoreCase))
             {
                 // opus only supports specific sampling rates