aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Api/Controllers/DynamicHlsController.cs
diff options
context:
space:
mode:
authorgnattu <gnattuoc@me.com>2024-07-18 11:45:16 +0800
committergnattu <gnattuoc@me.com>2024-07-18 11:45:16 +0800
commit992eed5ef7f2cfb3882e5670cca76b09d87cf9df (patch)
treeb1270b9eed8647486d5cb39dd8dfad6f765950d0 /Jellyfin.Api/Controllers/DynamicHlsController.cs
parent5262439300884680b1425b94de9c2f9c898d83ae (diff)
Fix AC-4 Sample rate check
Some Audio codec will have a null CodecTag, check for that to avoid null reference If the client already requests a specific sample rate, use that instead of our default sample rate for AC-4 Signed-off-by: gnattu <gnattuoc@me.com>
Diffstat (limited to 'Jellyfin.Api/Controllers/DynamicHlsController.cs')
-rw-r--r--Jellyfin.Api/Controllers/DynamicHlsController.cs11
1 files changed, 5 insertions, 6 deletions
diff --git a/Jellyfin.Api/Controllers/DynamicHlsController.cs b/Jellyfin.Api/Controllers/DynamicHlsController.cs
index 2201225a8..ccaa5b19a 100644
--- a/Jellyfin.Api/Controllers/DynamicHlsController.cs
+++ b/Jellyfin.Api/Controllers/DynamicHlsController.cs
@@ -1735,18 +1735,17 @@ public class DynamicHlsController : BaseJellyfinApiController
}
}
- if (state.AudioStream is not null && state.AudioStream.CodecTag.Equals("ac-4", StringComparison.Ordinal))
+ if (state.OutputAudioSampleRate.HasValue)
+ {
+ args += " -ar " + state.OutputAudioSampleRate.Value.ToString(CultureInfo.InvariantCulture);
+ }
+ else if (state.AudioStream?.CodecTag is not null && state.AudioStream.CodecTag.Equals("ac-4", StringComparison.Ordinal))
{
// ac-4 audio tends to hava a super weird sample rate that will fail most encoders
// force resample it to 48KHz
args += " -ar 48000";
}
- if (state.OutputAudioSampleRate.HasValue)
- {
- args += " -ar " + state.OutputAudioSampleRate.Value.ToString(CultureInfo.InvariantCulture);
- }
-
args += _encodingHelper.GetAudioFilterParam(state, _encodingOptions);
return args;