diff options
| author | Bond-009 <bond.009@outlook.com> | 2026-01-09 18:34:48 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-09 18:34:48 +0100 |
| commit | e62b6f833984e53abaa1c9cfb1facdc84725acc4 (patch) | |
| tree | 82db689b740c1cd1c304cac8d8e76707b6fb023b /Jellyfin.Api/Helpers/DynamicHlsHelper.cs | |
| parent | 9931537d87b1bfee038f1ad11c26e46de7dbc110 (diff) | |
| parent | 582a1d98665eba7f7d7b510633cc283fd72305e1 (diff) | |
Merge pull request #15959 from nyanmisaka/truehd-dts-hls-codec-string
Add TrueHD and DTS codes string for HLS
Diffstat (limited to 'Jellyfin.Api/Helpers/DynamicHlsHelper.cs')
| -rw-r--r-- | Jellyfin.Api/Helpers/DynamicHlsHelper.cs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Jellyfin.Api/Helpers/DynamicHlsHelper.cs b/Jellyfin.Api/Helpers/DynamicHlsHelper.cs index 16e51151d..44e1c6d5a 100644 --- a/Jellyfin.Api/Helpers/DynamicHlsHelper.cs +++ b/Jellyfin.Api/Helpers/DynamicHlsHelper.cs @@ -754,7 +754,9 @@ public class DynamicHlsHelper { if (string.Equals(state.ActualOutputAudioCodec, "aac", StringComparison.OrdinalIgnoreCase)) { - string? profile = state.GetRequestedProfiles("aac").FirstOrDefault(); + string? profile = EncodingHelper.IsCopyCodec(state.OutputAudioCodec) + ? state.AudioStream?.Profile : state.GetRequestedProfiles("aac").FirstOrDefault(); + return HlsCodecStringHelpers.GetAACString(profile); } @@ -788,6 +790,19 @@ public class DynamicHlsHelper return HlsCodecStringHelpers.GetOPUSString(); } + if (string.Equals(state.ActualOutputAudioCodec, "truehd", StringComparison.OrdinalIgnoreCase)) + { + return HlsCodecStringHelpers.GetTRUEHDString(); + } + + if (string.Equals(state.ActualOutputAudioCodec, "dts", StringComparison.OrdinalIgnoreCase)) + { + // lavc only support encoding DTS core profile + string? profile = EncodingHelper.IsCopyCodec(state.OutputAudioCodec) ? state.AudioStream?.Profile : "DTS"; + + return HlsCodecStringHelpers.GetDTSString(profile); + } + return string.Empty; } |
