Răsfoiți Sursa

Add check if output container supports "global_header" flag

Waldemar Tomme 5 ani în urmă
părinte
comite
57aec873d0
1 a modificat fișierele cu 9 adăugiri și 2 ștergeri
  1. 9 2
      MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

+ 9 - 2
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -2750,6 +2750,8 @@ namespace MediaBrowser.Controller.MediaEncoding
                 args += " -mpegts_m2ts_mode 1";
             }
 
+            var supportsGlobalHeaderFlag = state.OutputContainer != "mkv";
+
             if (string.Equals(videoCodec, "copy", StringComparison.OrdinalIgnoreCase))
             {
                 if (state.VideoStream != null
@@ -2770,7 +2772,12 @@ namespace MediaBrowser.Controller.MediaEncoding
 
                 if (!state.RunTimeTicks.HasValue)
                 {
-                    args += " -flags -global_header -fflags +genpts";
+                    if(supportsGlobalHeaderFlag)
+                    {
+                        args += " -flags -global_header";
+                    }
+
+                    args += " -fflags +genpts";
                 }
             }
             else
@@ -2816,7 +2823,7 @@ namespace MediaBrowser.Controller.MediaEncoding
                     args += " " + qualityParam.Trim();
                 }
 
-                if (!state.RunTimeTicks.HasValue)
+                if (supportsGlobalHeaderFlag && !state.RunTimeTicks.HasValue)
                 {
                     args += " -flags -global_header";
                 }