Przeglądaj źródła

Make ReadInputAtNativeFramerate configurable for M3U tuner (#13773)

timminator 2 miesięcy temu
rodzic
commit
d1ed6593ad

+ 1 - 1
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -7165,7 +7165,7 @@ namespace MediaBrowser.Controller.MediaEncoding
             state.RemoteHttpHeaders = mediaSource.RequiredHttpHeaders;
             state.ReadInputAtNativeFramerate = mediaSource.ReadAtNativeFramerate;
 
-            if (state.ReadInputAtNativeFramerate
+            if ((state.ReadInputAtNativeFramerate && !state.IsSegmentedLiveStream)
                 || (mediaSource.Protocol == MediaProtocol.File
                 && string.Equals(mediaSource.Container, "wtv", StringComparison.OrdinalIgnoreCase)))
             {

+ 3 - 0
MediaBrowser.Model/LiveTv/TunerHostInfo.cs

@@ -9,6 +9,7 @@ namespace MediaBrowser.Model.LiveTv
         {
             AllowHWTranscoding = true;
             IgnoreDts = true;
+            ReadAtNativeFramerate = false;
             AllowStreamSharing = true;
             AllowFmp4TranscodingContainer = false;
             FallbackMaxStreamingBitrate = 30000000;
@@ -43,5 +44,7 @@ namespace MediaBrowser.Model.LiveTv
         public string UserAgent { get; set; }
 
         public bool IgnoreDts { get; set; }
+
+        public bool ReadAtNativeFramerate { get; set; }
     }
 }

+ 1 - 1
src/Jellyfin.LiveTv/TunerHosts/M3UTunerHost.cs

@@ -190,7 +190,7 @@ namespace Jellyfin.LiveTv.TunerHosts
                 RequiresClosing = true,
                 RequiresLooping = info.EnableStreamLooping,
 
-                ReadAtNativeFramerate = false,
+                ReadAtNativeFramerate = info.ReadAtNativeFramerate,
 
                 Id = channel.Path.GetMD5().ToString("N", CultureInfo.InvariantCulture),
                 IsInfiniteStream = true,