From b83217d1d74deaafe3dc1e605c5d4ec572278d46 Mon Sep 17 00:00:00 2001 From: YuLong Yao Date: Mon, 2 Oct 2023 08:55:55 +0800 Subject: [PATCH 1/3] use pcm as ext name when codec is pcm --- Jellyfin.Api/Helpers/StreamingHelpers.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Jellyfin.Api/Helpers/StreamingHelpers.cs b/Jellyfin.Api/Helpers/StreamingHelpers.cs index 782cd656853..e55420d1165 100644 --- a/Jellyfin.Api/Helpers/StreamingHelpers.cs +++ b/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); From 808e59fdda3f08cdb2baaac8485f575f0c77ecff Mon Sep 17 00:00:00 2001 From: YuLong Yao Date: Mon, 2 Oct 2023 09:03:00 +0800 Subject: [PATCH 2/3] add pcm format when codec is pcm_* --- MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index c311d3b8ab9..4a71f25a787 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -6242,6 +6242,12 @@ public string GetProgressiveAudioFullCommandLine(EncodingJobInfo state, Encoding audioTranscodeParams.Add("-acodec " + GetAudioEncoder(state)); } + if (GetAudioEncoder(state).StartsWith("pcm_", StringComparison.Ordinal)) + { + audioTranscodeParams.Add(string.Concat("-f ", GetAudioEncoder(state).Substring(4))); + audioTranscodeParams.Add("-ar " + state.BaseRequest.AudioBitRate); + } + if (!string.Equals(outputCodec, "opus", StringComparison.OrdinalIgnoreCase)) { // opus only supports specific sampling rates From 33b3331c72a811acb1caa03cfa5c3e492df56c50 Mon Sep 17 00:00:00 2001 From: fei long Date: Fri, 6 Oct 2023 06:26:52 +0800 Subject: [PATCH 3/3] change Substring to AsSpan Co-authored-by: Bond-009 --- MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 4a71f25a787..72511ec4da3 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -6244,7 +6244,7 @@ public string GetProgressiveAudioFullCommandLine(EncodingJobInfo state, Encoding if (GetAudioEncoder(state).StartsWith("pcm_", StringComparison.Ordinal)) { - audioTranscodeParams.Add(string.Concat("-f ", GetAudioEncoder(state).Substring(4))); + audioTranscodeParams.Add(string.Concat("-f ", GetAudioEncoder(state).AsSpan(4))); audioTranscodeParams.Add("-ar " + state.BaseRequest.AudioBitRate); }