| 
														
															@@ -46,6 +46,7 @@ public class DynamicHlsController : BaseJellyfinApiController 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private readonly Version _minFFmpegFlacInMp4 = new Version(6, 0); 
														 | 
														
														 | 
														
															     private readonly Version _minFFmpegFlacInMp4 = new Version(6, 0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private readonly Version _minFFmpegX265BframeInFmp4 = new Version(7, 0, 1); 
														 | 
														
														 | 
														
															     private readonly Version _minFFmpegX265BframeInFmp4 = new Version(7, 0, 1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private readonly Version _minFFmpegHlsSegmentOptions = new Version(5, 0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private readonly ILibraryManager _libraryManager; 
														 | 
														
														 | 
														
															     private readonly ILibraryManager _libraryManager; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private readonly IUserManager _userManager; 
														 | 
														
														 | 
														
															     private readonly IUserManager _userManager; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1606,6 +1607,7 @@ public class DynamicHlsController : BaseJellyfinApiController 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         var segmentFormat = string.Empty; 
														 | 
														
														 | 
														
															         var segmentFormat = string.Empty; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         var segmentContainer = outputExtension.TrimStart('.'); 
														 | 
														
														 | 
														
															         var segmentContainer = outputExtension.TrimStart('.'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         var inputModifier = _encodingHelper.GetInputModifier(state, _encodingOptions, segmentContainer); 
														 | 
														
														 | 
														
															         var inputModifier = _encodingHelper.GetInputModifier(state, _encodingOptions, segmentContainer); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        var hlsArguments = $"-hls_playlist_type {(isEventPlaylist ? "event" : "vod")} -hls_list_size 0"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (string.Equals(segmentContainer, "ts", StringComparison.OrdinalIgnoreCase)) 
														 | 
														
														 | 
														
															         if (string.Equals(segmentContainer, "ts", StringComparison.OrdinalIgnoreCase)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         { 
														 | 
														
														 | 
														
															         { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1621,6 +1623,11 @@ public class DynamicHlsController : BaseJellyfinApiController 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 false => " -hls_fmp4_init_filename \"" + outputFileNameWithoutExtension + "-1" + outputExtension + "\"" 
														 | 
														
														 | 
														
															                 false => " -hls_fmp4_init_filename \"" + outputFileNameWithoutExtension + "-1" + outputExtension + "\"" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             }; 
														 | 
														
														 | 
														
															             }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            var useLegacySegmentOption = _mediaEncoder.EncoderVersion < _minFFmpegHlsSegmentOptions; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            // fMP4 needs this flag to write the audio packet DTS/PTS including the initial delay into MOOF::TRAF::TFDT 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            hlsArguments += $" {(useLegacySegmentOption ? "-hls_ts_options" : "-hls_segment_options")} movflags=+frag_discont"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             segmentFormat = "fmp4" + outputFmp4HeaderArg; 
														 | 
														
														 | 
														
															             segmentFormat = "fmp4" + outputFmp4HeaderArg; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         else 
														 | 
														
														 | 
														
															         else 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1642,8 +1649,6 @@ public class DynamicHlsController : BaseJellyfinApiController 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 Path.GetFileNameWithoutExtension(outputPath)); 
														 | 
														
														 | 
														
															                 Path.GetFileNameWithoutExtension(outputPath)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        var hlsArguments = $"-hls_playlist_type {(isEventPlaylist ? "event" : "vod")} -hls_list_size 0"; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return string.Format( 
														 | 
														
														 | 
														
															         return string.Format( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             CultureInfo.InvariantCulture, 
														 | 
														
														 | 
														
															             CultureInfo.InvariantCulture, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             "{0} {1} -map_metadata -1 -map_chapters -1 -threads {2} {3} {4} {5} -copyts -avoid_negative_ts disabled -max_muxing_queue_size {6} -f hls -max_delay 5000000 -hls_time {7} -hls_segment_type {8} -start_number {9}{10} -hls_segment_filename \"{11}\" {12} -y \"{13}\"", 
														 | 
														
														 | 
														
															             "{0} {1} -map_metadata -1 -map_chapters -1 -threads {2} {3} {4} {5} -copyts -avoid_negative_ts disabled -max_muxing_queue_size {6} -f hls -max_delay 5000000 -hls_time {7} -hls_segment_type {8} -start_number {9}{10} -hls_segment_filename \"{11}\" {12} -y \"{13}\"", 
														 |