diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs index a95db53e42..709069153c 100644 --- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs @@ -923,10 +923,10 @@ namespace MediaBrowser.Api.Playback.Hls } else { - var keyFrameArg = string.Format( + var keyFrameArg = string.Format(CultureInfo.InvariantCulture, " -force_key_frames:0 \"expr:gte(t,{0}+n_forced*{1})\"", - (GetStartNumber(state) * state.SegmentLength).ToString(CultureInfo.InvariantCulture), - state.SegmentLength.ToString(CultureInfo.InvariantCulture)); + GetStartNumber(state) * state.SegmentLength, + state.SegmentLength); if (state.TargetFramerate.HasValue) { // This is to make sure keyframe interval is limited to our segment, @@ -934,9 +934,9 @@ namespace MediaBrowser.Api.Playback.Hls // Example: we encoded half of desired length, then codec detected // scene cut and inserted a keyframe; next forced keyframe would // be created outside of segment, which breaks seeking. - keyFrameArg += string.Format( + keyFrameArg += string.Format(CultureInfo.InvariantCulture, " -g {0} -keyint_min {0}", - ((int)(state.SegmentLength * state.TargetFramerate)).ToString(CultureInfo.InvariantCulture) + (int)(state.SegmentLength * state.TargetFramerate) ); } diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 0aa0679045..0f4e449725 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -2168,8 +2168,8 @@ namespace MediaBrowser.Controller.MediaEncoding // Important: If this is ever re-enabled, make sure not to use it with wtv because it breaks seeking if (!string.Equals(state.InputContainer, "wtv", StringComparison.OrdinalIgnoreCase) && state.TranscodingType != TranscodingJobType.Progressive - && !state.EnableBreakOnNonKeyFrames(outputVideoCodec) && - (state.BaseRequest.StartTimeTicks ?? 0) > 0) + && !state.EnableBreakOnNonKeyFrames(outputVideoCodec) + && (state.BaseRequest.StartTimeTicks ?? 0) > 0) { inputModifier += " -noaccurate_seek"; }