diff options
Diffstat (limited to 'MediaBrowser.Api/Playback/BaseStreamingService.cs')
| -rw-r--r-- | MediaBrowser.Api/Playback/BaseStreamingService.cs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index baf389168..8cf6474f2 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -598,7 +598,7 @@ namespace MediaBrowser.Api.Playback return string.Format(",subtitles='{0}:si={1}',setpts=PTS -{2}/TB", state.MediaPath.Replace('\\', '/').Replace(":/", "\\:/"), - state.SubtitleStream.Index.ToString(UsCulture), + state.InternalSubtitleStreamOffset.ToString(UsCulture), Math.Round(seconds).ToString(UsCulture)); } @@ -1474,7 +1474,7 @@ namespace MediaBrowser.Api.Playback state.IsoType = mediaSource.IsoType; - //state.PlayableStreamFileNames = mediaSource.PlayableStreamFileNames.ToList(); + state.PlayableStreamFileNames = mediaSource.PlayableStreamFileNames.ToList(); if (mediaSource.Timestamp.HasValue) { @@ -1552,6 +1552,11 @@ namespace MediaBrowser.Api.Playback state.SubtitleStream = GetMediaStream(mediaStreams, videoRequest.SubtitleStreamIndex, MediaStreamType.Subtitle, false); state.AudioStream = GetMediaStream(mediaStreams, videoRequest.AudioStreamIndex, MediaStreamType.Audio); + if (state.SubtitleStream != null && !state.SubtitleStream.IsExternal) + { + state.InternalSubtitleStreamOffset = mediaStreams.Where(i => i.Type == MediaStreamType.Subtitle && !i.IsExternal).ToList().IndexOf(state.SubtitleStream); + } + if (state.VideoStream != null && state.VideoStream.IsInterlaced) { state.DeInterlace = true; |
