Browse Source

fix for no audio stream video

nyanmisaka 4 năm trước cách đây
mục cha
commit
11c74cb65c

+ 5 - 0
Jellyfin.Api/Controllers/DynamicHlsController.cs

@@ -1429,6 +1429,11 @@ namespace Jellyfin.Api.Controllers
 
         private string GetAudioArguments(StreamState state, EncodingOptions encodingOptions)
         {
+            if (state.AudioStream == null)
+            {
+                return string.Empty;
+            }
+
             var audioCodec = _encodingHelper.GetAudioEncoder(state);
 
             if (!state.IsOutputVideo)

+ 5 - 0
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -1518,6 +1518,11 @@ namespace MediaBrowser.Controller.MediaEncoding
         /// <returns>System.Nullable{System.Int32}.</returns>
         public int? GetNumAudioChannelsParam(EncodingJobInfo state, MediaStream audioStream, string outputAudioCodec)
         {
+            if (audioStream == null)
+            {
+                return null;
+            }
+
             var request = state.BaseRequest;
 
             var inputChannels = audioStream?.Channels;

+ 10 - 0
MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs

@@ -593,6 +593,11 @@ namespace MediaBrowser.Controller.MediaEncoding
         {
             get
             {
+                if (VideoStream == null)
+                {
+                    return null;
+                }
+
                 if (EncodingHelper.IsCopyCodec(OutputVideoCodec))
                 {
                     return VideoStream?.Codec;
@@ -606,6 +611,11 @@ namespace MediaBrowser.Controller.MediaEncoding
         {
             get
             {
+                if (AudioStream == null)
+                {
+                    return null;
+                }
+
                 if (EncodingHelper.IsCopyCodec(OutputAudioCodec))
                 {
                     return AudioStream?.Codec;