Browse Source

#80 - Subtitle Paramaters For HLS

Luke Pulverenti 12 years ago
parent
commit
63e16a4d99

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

@@ -171,7 +171,7 @@ namespace MediaBrowser.Api.Playback.Hls
             segmentOutputPath = Path.Combine(segmentOutputPath, segmentOutputName + "%03d." + GetSegmentFileExtension(state).TrimStart('.'));
             segmentOutputPath = Path.Combine(segmentOutputPath, segmentOutputName + "%03d." + GetSegmentFileExtension(state).TrimStart('.'));
 
 
             var probeSize = Kernel.Instance.FFMpegManager.GetProbeSizeArgument(state.Item);
             var probeSize = Kernel.Instance.FFMpegManager.GetProbeSizeArgument(state.Item);
-
+            
             return string.Format("{0} {1} -i {2}{3} -threads 0 {4} {5} {6} -force_key_frames expr:gte(t,n_forced*5) -f ssegment -segment_list_flags +live -segment_time 10 -segment_list \"{7}\" \"{8}\"",
             return string.Format("{0} {1} -i {2}{3} -threads 0 {4} {5} {6} -force_key_frames expr:gte(t,n_forced*5) -f ssegment -segment_list_flags +live -segment_time 10 -segment_list \"{7}\" \"{8}\"",
                 probeSize,
                 probeSize,
                 GetFastSeekCommandLineParameter(state.Request),
                 GetFastSeekCommandLineParameter(state.Request),

+ 10 - 2
MediaBrowser.Api/Playback/Hls/VideoHlsService.cs

@@ -151,8 +151,16 @@ namespace MediaBrowser.Api.Playback.Hls
             args += string.Format(" -g {0}", framerate);
             args += string.Format(" -g {0}", framerate);
 
 
             args += " -vsync vfr";
             args += " -vsync vfr";
-            
-            
+
+            if (state.SubtitleStream != null)
+            {
+                // This is for internal graphical subs
+                if (!state.SubtitleStream.IsExternal && (state.SubtitleStream.Codec.IndexOf("pgs", StringComparison.OrdinalIgnoreCase) != -1 || state.SubtitleStream.Codec.IndexOf("dvd", StringComparison.OrdinalIgnoreCase) != -1))
+                {
+                    args += GetInternalGraphicalSubtitleParam(state, codec);
+                }
+            }
+         
             return args;
             return args;
         }
         }