From 151ddd400dcb3702aef67ece10dd9b82a443f96d Mon Sep 17 00:00:00 2001 From: Isaac Gordezky Date: Sat, 12 Feb 2022 15:52:57 +0000 Subject: [Bugfix] Provile bitStreamArgs for HLS fMP4 Enable the audio bitstream arguments to ffmpeg for both ts and fMP4 HLS streaming --- MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs') diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index bde10dbbf..8b731e296 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -950,7 +950,7 @@ namespace MediaBrowser.Controller.MediaEncoding } } - public static string GetAudioBitStreamArguments(EncodingJobInfo state, string segmentContainer, string mediaSourceContainer) + public static string GetAudioBitStreamArguments(EncodingJobInfo state, string segmentContainer, string mediaSourceContainer, TranscodingJobType transcodingType) { var bitStreamArgs = string.Empty; var segmentFormat = GetSegmentFileExtension(segmentContainer).TrimStart('.'); @@ -958,6 +958,7 @@ namespace MediaBrowser.Controller.MediaEncoding // Apply aac_adtstoasc bitstream filter when media source is in mpegts. if (string.Equals(segmentFormat, "mp4", StringComparison.OrdinalIgnoreCase) && (string.Equals(mediaSourceContainer, "mpegts", StringComparison.OrdinalIgnoreCase) + || transcodingType == TranscodingJobType.Hls || string.Equals(mediaSourceContainer, "hls", StringComparison.OrdinalIgnoreCase))) { bitStreamArgs = GetBitStreamArgs(state.AudioStream); @@ -1676,8 +1677,8 @@ namespace MediaBrowser.Controller.MediaEncoding } // Source and target codecs must match - if (string.IsNullOrEmpty(videoStream.Codec) - || !state.SupportedVideoCodecs.Contains(videoStream.Codec, StringComparison.OrdinalIgnoreCase)) + if (string.IsNullOrEmpty(videoStream.Codec) || (state.SupportedVideoCodecs.Any() + && !state.SupportedVideoCodecs.Contains(videoStream.Codec, StringComparison.OrdinalIgnoreCase))) { return false; } -- cgit v1.2.3