2
0
Luke Pulverenti 8 жил өмнө
parent
commit
9ed3c31175

+ 14 - 7
Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs

@@ -377,7 +377,9 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
 
 
             var url = GetApiUrl(info, true) + "/auto/v" + channelId;
             var url = GetApiUrl(info, true) + "/auto/v" + channelId;
 
 
-            if (!string.IsNullOrWhiteSpace(profile) && !string.Equals(profile, "native", StringComparison.OrdinalIgnoreCase))
+            // If raw was used, the tuner doesn't support params
+            if (!string.IsNullOrWhiteSpace(profile)
+                && !string.Equals(profile, "native", StringComparison.OrdinalIgnoreCase))
             {
             {
                 url += "?transcode=" + profile;
                 url += "?transcode=" + profile;
             }
             }
@@ -451,16 +453,16 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
             }
             }
             var hdhrId = GetHdHrIdFromChannelId(channelId);
             var hdhrId = GetHdHrIdFromChannelId(channelId);
 
 
-            list.Add(await GetMediaSource(info, hdhrId, "native").ConfigureAwait(false));
-
             try
             try
             {
             {
-                if (info.AllowHWTranscoding)
+                var model = await GetModelInfo(info, cancellationToken).ConfigureAwait(false);
+                model = model ?? string.Empty;
+
+                if ((model.IndexOf("hdtc", StringComparison.OrdinalIgnoreCase) != -1))
                 {
                 {
-                    string model = await GetModelInfo(info, cancellationToken).ConfigureAwait(false);
-                    model = model ?? string.Empty;
+                    list.Add(await GetMediaSource(info, hdhrId, "native").ConfigureAwait(false));
 
 
-                    if ((model.IndexOf("hdtc", StringComparison.OrdinalIgnoreCase) != -1))
+                    if (info.AllowHWTranscoding)
                     {
                     {
                         list.Add(await GetMediaSource(info, hdhrId, "heavy").ConfigureAwait(false));
                         list.Add(await GetMediaSource(info, hdhrId, "heavy").ConfigureAwait(false));
 
 
@@ -477,6 +479,11 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
 
 
             }
             }
 
 
+            if (list.Count == 0)
+            {
+                list.Add(await GetMediaSource(info, hdhrId, "native").ConfigureAwait(false));
+            }
+
             return list;
             return list;
         }
         }
 
 

+ 1 - 1
MediaBrowser.Api/Playback/BaseStreamingService.cs

@@ -396,7 +396,7 @@ namespace MediaBrowser.Api.Playback
                     param += " -crf 23";
                     param += " -crf 23";
                 }
                 }
 
 
-                //param += " -tune zerolatency";
+                param += " -tune zerolatency";
             }
             }
 
 
             else if (string.Equals(videoEncoder, "libx265", StringComparison.OrdinalIgnoreCase))
             else if (string.Equals(videoEncoder, "libx265", StringComparison.OrdinalIgnoreCase))

+ 1 - 1
MediaBrowser.Api/Playback/Hls/BaseHlsService.cs

@@ -258,7 +258,7 @@ namespace MediaBrowser.Api.Playback.Hls
             // add when stream copying? 
             // add when stream copying? 
             // -avoid_negative_ts make_zero -fflags +genpts
             // -avoid_negative_ts make_zero -fflags +genpts
 
 
-            var args = string.Format("{0} {1} {2} -map_metadata -1 -threads {3} {4} {5} -fflags +genpts -sc_threshold 0 {6} -hls_time {7} -start_number {8} -hls_list_size {9}{10} -y \"{11}\"",
+            var args = string.Format("{0} {1} {2} -map_metadata -1 -map_chapters -1 -threads {3} {4} {5} -fflags +genpts -sc_threshold 0 {6} -hls_time {7} -start_number {8} -hls_list_size {9}{10} -y \"{11}\"",
                 itsOffset,
                 itsOffset,
                 inputModifier,
                 inputModifier,
                 GetInputArgument(state),
                 GetInputArgument(state),

+ 2 - 2
MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs

@@ -895,7 +895,7 @@ namespace MediaBrowser.Api.Playback.Hls
             {
             {
                 var outputTsArg = Path.Combine(Path.GetDirectoryName(outputPath), Path.GetFileNameWithoutExtension(outputPath)) + "%d" + GetSegmentFileExtension(state);
                 var outputTsArg = Path.Combine(Path.GetDirectoryName(outputPath), Path.GetFileNameWithoutExtension(outputPath)) + "%d" + GetSegmentFileExtension(state);
 
 
-                return string.Format("{0} {10} {1} -map_metadata -1 -threads {2} {3} {4} {5} -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time {6} -break_non_keyframes  1 -segment_format mpegts -segment_list_type m3u8 -segment_start_number {7} -segment_list \"{8}\" -y \"{9}\"",
+                return string.Format("{0} {10} {1} -map_metadata -1 -map_chapters -1 -threads {2} {3} {4} {5} -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time {6} -break_non_keyframes  1 -segment_format mpegts -segment_list_type m3u8 -segment_start_number {7} -segment_list \"{8}\" -y \"{9}\"",
                     inputModifier,
                     inputModifier,
                     GetInputArgument(state),
                     GetInputArgument(state),
                     threads,
                     threads,
@@ -913,7 +913,7 @@ namespace MediaBrowser.Api.Playback.Hls
             var splitByTime = hlsProtocolSupportsSplittingByTime && enableSplittingOnNonKeyFrames;
             var splitByTime = hlsProtocolSupportsSplittingByTime && enableSplittingOnNonKeyFrames;
             var splitByTimeArg = splitByTime ? " -hls_flags split_by_time" : "";
             var splitByTimeArg = splitByTime ? " -hls_flags split_by_time" : "";
 
 
-            return string.Format("{0}{12} {1} -map_metadata -1 -threads {2} {3} {4}{5} {6} -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -hls_time {7}{8} -start_number {9} -hls_list_size {10} -y \"{11}\"",
+            return string.Format("{0}{12} {1} -map_metadata -1 -map_chapters -1 -threads {2} {3} {4}{5} {6} -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -hls_time {7}{8} -start_number {9} -hls_list_size {10} -y \"{11}\"",
                             inputModifier,
                             inputModifier,
                             GetInputArgument(state),
                             GetInputArgument(state),
                             threads,
                             threads,

+ 1 - 1
MediaBrowser.Api/Playback/Progressive/VideoService.cs

@@ -111,7 +111,7 @@ namespace MediaBrowser.Api.Playback.Progressive
 
 
             var inputModifier = GetInputModifier(state);
             var inputModifier = GetInputModifier(state);
 
 
-            return string.Format("{0} {1}{2} {3} {4} -map_metadata -1 -threads {5} {6}{7} -y \"{8}\"",
+            return string.Format("{0} {1}{2} {3} {4} -map_metadata -1 -map_chapters -1 -threads {5} {6}{7} -y \"{8}\"",
                 inputModifier,
                 inputModifier,
                 GetInputArgument(state),
                 GetInputArgument(state),
                 keyFrame,
                 keyFrame,