@ -504,11 +504,6 @@ namespace MediaBrowser.Api.Playback.Hls
{
var isLiveStream = ( state . RunTimeTicks ? ? 0 ) = = 0 ;
if ( state . VideoRequest . ForceLiveStream )
{
return true ;
}
return isLiveStream ;
}
@ -830,7 +825,6 @@ namespace MediaBrowser.Api.Playback.Hls
{
if ( state . VideoStream ! = null & & IsH264 ( state . VideoStream ) & & ! string . Equals ( state . VideoStream . NalLengthSize , "0" , StringComparison . OrdinalIgnoreCase ) )
{
Logger . Debug ( "Enabling h264_mp4toannexb due to nal_length_size of {0}" , state . VideoStream . NalLengthSize ) ;
args + = " -bsf:v h264_mp4toannexb" ;
}
@ -862,12 +856,17 @@ namespace MediaBrowser.Api.Playback.Hls
args + = " -flags -global_header -sc_threshold 0" ;
}
if ( EnableCopyTs ( state ) & & args . IndexOf ( "-copyts" , StringComparison . OrdinalIgnoreCase ) = = - 1 )
{
args + = " -copyts" ;
}
return args ;
}
private bool EnableCopyTs ( StreamState state )
{
return state . SubtitleStream ! = null & & state . SubtitleS tream. IsTextS ubtitleStream & & state . VideoRequest . SubtitleMethod = = SubtitleDeliveryMethod . Encod e;
return true;
}
protected override string GetCommandLineArguments ( string outputPath , StreamState state , bool isEncoding )
@ -891,7 +890,7 @@ namespace MediaBrowser.Api.Playback.Hls
//var outputTsArg = Path.Combine(Path.GetDirectoryName(outputPath), Path.GetFileNameWithoutExtension(outputPath)) + "%d" + GetSegmentFileExtension(state);
//return string.Format("{0} {1 1} {1}{10 } -map_metadata -1 -threads {2} {3} {4} {5} -f segment -segment_time {6} -segment_format mpegts -segment_list_type m3u8 -segment_start_number {7} -segment_list \"{8}\" -y \"{9}\"",
//return string.Format("{0} {1 0} {1 } -map_metadata -1 -threads {2} {3} {4} {5} -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time {6} -segment_format mpegts -segment_list_type m3u8 -segment_start_number {7} -segment_list \"{8}\" -y \"{9}\"",
// inputModifier,
// GetInputArgument(state),
// threads,
@ -902,11 +901,10 @@ namespace MediaBrowser.Api.Playback.Hls
// startNumberParam,
// outputPath,
// outputTsArg,
// slowSeekParam,
// toTimeParam
// ).Trim();
return string . Format ( "{0}{11} {1} -map_metadata -1 -threads {2} {3} {4}{5} {6} - hls_time {7} -start_number {8} -hls_list_size {9} -y \"{10}\"",
return string . Format ( "{0}{11} {1} -map_metadata -1 -threads {2} {3} {4}{5} {6} - max_delay 5000000 -avoid_negative_ts disabled -start_at_zero - hls_time {7} -start_number {8} -hls_list_size {9} -y \"{10}\"",
inputModifier ,
GetInputArgument ( state ) ,
threads ,
@ -946,10 +944,10 @@ namespace MediaBrowser.Api.Playback.Hls
{
var isLiveStream = IsLiveStream ( state ) ;
if ( ! isLiveStream )
{
return false ;
}
//if (!isLiveStream && Request.QueryString["AllowCustomSegmenting"] != "true" )
// {
// return false;
// }
return base . CanStreamCopyVideo ( state ) ;
}