diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-07-19 23:43:13 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-07-19 23:43:13 -0400 |
| commit | 3178896004540c4a5884b9235a67ffbe3f58af0b (patch) | |
| tree | 45ef94788378e2eaba642c2dc7692b75aed1d7b9 | |
| parent | 3bb65c6f99ed84cf01935dc8a2cb2c3663273e8c (diff) | |
update subtitle methods
24 files changed, 65 insertions, 35 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index dc5858e86..e7885a3f8 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -689,7 +689,7 @@ namespace MediaBrowser.Api.Playback // TODO: Perhaps also use original_size=1920x800 ?? return string.Format("subtitles=filename='{0}'{1},setpts=PTS -{2}/TB", - subtitlePath.Replace('\\', '/').Replace("'", "\\'").Replace(":/", "\\:/"), + subtitlePath.Replace('\\', '/').Replace(":/", "\\:/"), charsetParam, seconds.ToString(UsCulture)); } @@ -697,7 +697,7 @@ namespace MediaBrowser.Api.Playback var mediaPath = state.MediaPath ?? string.Empty; return string.Format("subtitles='{0}:si={1}',setpts=PTS -{2}/TB", - mediaPath.Replace('\\', '/').Replace("'", "\\'").Replace(":/", "\\:/"), + mediaPath.Replace('\\', '/').Replace(":/", "\\:/"), state.InternalSubtitleStreamOffset.ToString(UsCulture), seconds.ToString(UsCulture)); } diff --git a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs index 97c5aecd0..fbfe79272 100644 --- a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs @@ -902,13 +902,13 @@ namespace MediaBrowser.MediaEncoding.Encoder // TODO: Perhaps also use original_size=1920x800 ?? return string.Format("subtitles=filename='{0}'{1},setpts=PTS -{2}/TB", - subtitlePath.Replace('\\', '/').Replace("'", "\\'").Replace(":/", "\\:/"), + subtitlePath.Replace('\\', '/').Replace(":/", "\\:/"), charsetParam, seconds.ToString(UsCulture)); } return string.Format("subtitles='{0}:si={1}',setpts=PTS -{2}/TB", - state.MediaPath.Replace('\\', '/').Replace("'", "\\'").Replace(":/", "\\:/"), + state.MediaPath.Replace('\\', '/').Replace(":/", "\\:/"), state.InternalSubtitleStreamOffset.ToString(UsCulture), seconds.ToString(UsCulture)); } diff --git a/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj b/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj index ad561c484..de05d9ffd 100644 --- a/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj +++ b/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj @@ -81,7 +81,6 @@ <Compile Include="Subtitles\AssParser.cs" /> <Compile Include="Subtitles\SsaParser.cs" /> <Compile Include="Subtitles\SubtitleEncoder.cs" /> - <Compile Include="Subtitles\SubtitleTrackInfo.cs" /> <Compile Include="Subtitles\TtmlWriter.cs" /> <Compile Include="Subtitles\VttWriter.cs" /> </ItemGroup> diff --git a/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs b/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs index e711c02b6..6d723a087 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs @@ -6,6 +6,7 @@ using System.IO; using System.Linq; using System.Text.RegularExpressions; using System.Threading; +using MediaBrowser.Model.MediaInfo; namespace MediaBrowser.MediaEncoding.Subtitles { diff --git a/MediaBrowser.MediaEncoding/Subtitles/ISubtitleParser.cs b/MediaBrowser.MediaEncoding/Subtitles/ISubtitleParser.cs index 5b072a450..75de81f46 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/ISubtitleParser.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/ISubtitleParser.cs @@ -1,5 +1,6 @@ using System.IO; using System.Threading; +using MediaBrowser.Model.MediaInfo; namespace MediaBrowser.MediaEncoding.Subtitles { diff --git a/MediaBrowser.MediaEncoding/Subtitles/ISubtitleWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/ISubtitleWriter.cs index eb29e6c17..e28da9185 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/ISubtitleWriter.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/ISubtitleWriter.cs @@ -1,5 +1,6 @@ using System.IO; using System.Threading; +using MediaBrowser.Model.MediaInfo; namespace MediaBrowser.MediaEncoding.Subtitles { diff --git a/MediaBrowser.MediaEncoding/Subtitles/JsonWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/JsonWriter.cs index a4fc5d795..474f712f9 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/JsonWriter.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/JsonWriter.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Model.Serialization; +using MediaBrowser.Model.MediaInfo; +using MediaBrowser.Model.Serialization; using System.IO; using System.Text; using System.Threading; diff --git a/MediaBrowser.MediaEncoding/Subtitles/SrtParser.cs b/MediaBrowser.MediaEncoding/Subtitles/SrtParser.cs index 9751176cb..d40d4afa7 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/SrtParser.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/SrtParser.cs @@ -6,6 +6,7 @@ using System.Globalization; using System.IO; using System.Text.RegularExpressions; using System.Threading; +using MediaBrowser.Model.MediaInfo; namespace MediaBrowser.MediaEncoding.Subtitles { diff --git a/MediaBrowser.MediaEncoding/Subtitles/SrtWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/SrtWriter.cs index 3e574f931..c05929fde 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/SrtWriter.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/SrtWriter.cs @@ -4,6 +4,7 @@ using System.IO; using System.Text; using System.Text.RegularExpressions; using System.Threading; +using MediaBrowser.Model.MediaInfo; namespace MediaBrowser.MediaEncoding.Subtitles { diff --git a/MediaBrowser.MediaEncoding/Subtitles/SsaParser.cs b/MediaBrowser.MediaEncoding/Subtitles/SsaParser.cs index bfc6c60fc..6c760658d 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/SsaParser.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/SsaParser.cs @@ -3,6 +3,7 @@ using System; using System.IO; using System.Text; using System.Threading; +using MediaBrowser.Model.MediaInfo; namespace MediaBrowser.MediaEncoding.Subtitles { diff --git a/MediaBrowser.MediaEncoding/Subtitles/SubtitleTrackInfo.cs b/MediaBrowser.MediaEncoding/Subtitles/SubtitleTrackInfo.cs deleted file mode 100644 index 67d70ed6e..000000000 --- a/MediaBrowser.MediaEncoding/Subtitles/SubtitleTrackInfo.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections.Generic; - -namespace MediaBrowser.MediaEncoding.Subtitles -{ - public class SubtitleTrackInfo - { - public List<SubtitleTrackEvent> TrackEvents { get; set; } - - public SubtitleTrackInfo() - { - TrackEvents = new List<SubtitleTrackEvent>(); - } - } - - public class SubtitleTrackEvent - { - public string Id { get; set; } - public string Text { get; set; } - public long StartPositionTicks { get; set; } - public long EndPositionTicks { get; set; } - } -} diff --git a/MediaBrowser.MediaEncoding/Subtitles/TtmlWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/TtmlWriter.cs index 955b36ecd..c32005f89 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/TtmlWriter.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/TtmlWriter.cs @@ -3,6 +3,7 @@ using System.IO; using System.Text; using System.Text.RegularExpressions; using System.Threading; +using MediaBrowser.Model.MediaInfo; namespace MediaBrowser.MediaEncoding.Subtitles { diff --git a/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs index fa53e4d13..092add992 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs @@ -3,6 +3,7 @@ using System.IO; using System.Text; using System.Text.RegularExpressions; using System.Threading; +using MediaBrowser.Model.MediaInfo; namespace MediaBrowser.MediaEncoding.Subtitles { diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj index a1b7ce396..90a185a97 100644 --- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj +++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj @@ -821,6 +821,12 @@ <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleFormat.cs"> <Link>MediaInfo\SubtitleFormat.cs</Link> </Compile> + <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleTrackEvent.cs"> + <Link>MediaInfo\SubtitleTrackEvent.cs</Link> + </Compile> + <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleTrackInfo.cs"> + <Link>MediaInfo\SubtitleTrackInfo.cs</Link> + </Compile> <Compile Include="..\MediaBrowser.Model\MediaInfo\TransportStreamTimestamp.cs"> <Link>MediaInfo\TransportStreamTimestamp.cs</Link> </Compile> diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj index d4a373733..e7878fb1b 100644 --- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj +++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj @@ -777,6 +777,12 @@ <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleFormat.cs"> <Link>MediaInfo\SubtitleFormat.cs</Link> </Compile> + <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleTrackEvent.cs"> + <Link>MediaInfo\SubtitleTrackEvent.cs</Link> + </Compile> + <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleTrackInfo.cs"> + <Link>MediaInfo\SubtitleTrackInfo.cs</Link> + </Compile> <Compile Include="..\MediaBrowser.Model\MediaInfo\TransportStreamTimestamp.cs"> <Link>MediaInfo\TransportStreamTimestamp.cs</Link> </Compile> diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index b36fa2362..5c7caf407 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -169,6 +169,8 @@ <Compile Include="Configuration\MetadataPluginType.cs" /> <Compile Include="Dlna\SubtitleProfile.cs" /> <Compile Include="MediaInfo\MediaProtocol.cs" /> + <Compile Include="MediaInfo\SubtitleTrackEvent.cs" /> + <Compile Include="MediaInfo\SubtitleTrackInfo.cs" /> <Compile Include="Net\HttpResponse.cs" /> <Compile Include="Net\MimeTypes.cs" /> <Compile Include="Notifications\NotificationOption.cs" /> diff --git a/MediaBrowser.Model/MediaInfo/SubtitleTrackEvent.cs b/MediaBrowser.Model/MediaInfo/SubtitleTrackEvent.cs new file mode 100644 index 000000000..b4ab6ed97 --- /dev/null +++ b/MediaBrowser.Model/MediaInfo/SubtitleTrackEvent.cs @@ -0,0 +1,11 @@ + +namespace MediaBrowser.Model.MediaInfo +{ + public class SubtitleTrackEvent + { + public string Id { get; set; } + public string Text { get; set; } + public long StartPositionTicks { get; set; } + public long EndPositionTicks { get; set; } + } +} diff --git a/MediaBrowser.Model/MediaInfo/SubtitleTrackInfo.cs b/MediaBrowser.Model/MediaInfo/SubtitleTrackInfo.cs new file mode 100644 index 000000000..765cfe32f --- /dev/null +++ b/MediaBrowser.Model/MediaInfo/SubtitleTrackInfo.cs @@ -0,0 +1,14 @@ +using System.Collections.Generic; + +namespace MediaBrowser.Model.MediaInfo +{ + public class SubtitleTrackInfo + { + public List<SubtitleTrackEvent> TrackEvents { get; set; } + + public SubtitleTrackInfo() + { + TrackEvents = new List<SubtitleTrackEvent>(); + } + } +} diff --git a/MediaBrowser.Server.Implementations/Library/SearchEngine.cs b/MediaBrowser.Server.Implementations/Library/SearchEngine.cs index db8a2d4fd..abebd26cc 100644 --- a/MediaBrowser.Server.Implementations/Library/SearchEngine.cs +++ b/MediaBrowser.Server.Implementations/Library/SearchEngine.cs @@ -122,7 +122,7 @@ namespace MediaBrowser.Server.Implementations.Library }).Items; // Add search hints based on item name - hints.AddRange(mediaItems.Where(i => (user == null || i.IsVisibleStandalone(user)) && !(i is CollectionFolder)).Select(item => + hints.AddRange(mediaItems.Where(i => IncludeInSearch(i) && (user == null || i.IsVisibleStandalone(user)) && !(i is CollectionFolder)).Select(item => { var index = GetIndex(item.Name, searchTerm, terms); diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index 788d12cbb..9ce239eb9 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -1001,6 +1001,8 @@ namespace MediaBrowser.Server.Implementations.Persistence } dict["Recording"] = new[] { typeof(LiveTvAudioRecording).FullName, typeof(LiveTvVideoRecording).FullName }; + dict["Program"] = new[] { typeof(LiveTvProgram).FullName }; + dict["TvChannel"] = new[] { typeof(LiveTvChannel).FullName }; return dict; } diff --git a/MediaBrowser.Tests/MediaEncoding/Subtitles/AssParserTests.cs b/MediaBrowser.Tests/MediaEncoding/Subtitles/AssParserTests.cs index 02fd66b20..d5a62802d 100644 --- a/MediaBrowser.Tests/MediaEncoding/Subtitles/AssParserTests.cs +++ b/MediaBrowser.Tests/MediaEncoding/Subtitles/AssParserTests.cs @@ -1,5 +1,6 @@ using System.Text; using MediaBrowser.MediaEncoding.Subtitles; +using MediaBrowser.Model.MediaInfo; using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Collections.Generic; using System.IO; diff --git a/MediaBrowser.Tests/MediaEncoding/Subtitles/SrtParserTests.cs b/MediaBrowser.Tests/MediaEncoding/Subtitles/SrtParserTests.cs index 8ea4398e9..07717a328 100644 --- a/MediaBrowser.Tests/MediaEncoding/Subtitles/SrtParserTests.cs +++ b/MediaBrowser.Tests/MediaEncoding/Subtitles/SrtParserTests.cs @@ -4,6 +4,7 @@ using System.IO; using System.Threading; using MediaBrowser.MediaEncoding.Subtitles; using MediaBrowser.Model.Logging; +using MediaBrowser.Model.MediaInfo; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace MediaBrowser.Tests.MediaEncoding.Subtitles diff --git a/MediaBrowser.Tests/MediaEncoding/Subtitles/VttWriterTest.cs b/MediaBrowser.Tests/MediaEncoding/Subtitles/VttWriterTest.cs index 7a4823ecf..924a1736f 100644 --- a/MediaBrowser.Tests/MediaEncoding/Subtitles/VttWriterTest.cs +++ b/MediaBrowser.Tests/MediaEncoding/Subtitles/VttWriterTest.cs @@ -2,6 +2,7 @@ using System.IO; using System.Threading; using MediaBrowser.MediaEncoding.Subtitles; +using MediaBrowser.Model.MediaInfo; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace MediaBrowser.Tests.MediaEncoding.Subtitles { diff --git a/MediaBrowser.WebDashboard/Api/PackageCreator.cs b/MediaBrowser.WebDashboard/Api/PackageCreator.cs index 7f7aa4a2d..3be24ddf1 100644 --- a/MediaBrowser.WebDashboard/Api/PackageCreator.cs +++ b/MediaBrowser.WebDashboard/Api/PackageCreator.cs @@ -304,11 +304,11 @@ namespace MediaBrowser.WebDashboard.Api } } - var version = GetType().Assembly.GetName().Version; + var versionString = !string.Equals(mode, "cordova", StringComparison.OrdinalIgnoreCase) ? "?v=" + appVersion : string.Empty; var imports = new[] { - "vulcanize-out.html?v=" + appVersion + "vulcanize-out.html" + versionString }; var importsHtml = string.Join("", imports.Select(i => "<link rel=\"import\" href=\"" + i + "\">").ToArray()); @@ -316,7 +316,7 @@ namespace MediaBrowser.WebDashboard.Api // In chrome it is causing the body to be hidden while loading, which leads to width-check methods to return 0 for everything //imports = ""; - html = html.Replace("<head>", "<head>" + GetMetaTags(mode) + GetCommonCss(mode, version) + GetInitialJavascript(mode, version) + importsHtml + GetCommonJavascript(mode, version)); + html = html.Replace("<head>", "<head>" + GetMetaTags(mode) + GetCommonCss(mode, appVersion) + GetInitialJavascript(mode, appVersion) + importsHtml + GetCommonJavascript(mode, appVersion)); var bytes = Encoding.UTF8.GetBytes(html); @@ -412,7 +412,7 @@ namespace MediaBrowser.WebDashboard.Api /// <param name="mode">The mode.</param> /// <param name="version">The version.</param> /// <returns>System.String.</returns> - private string GetCommonCss(string mode, Version version) + private string GetCommonCss(string mode, string version) { var versionString = !string.Equals(mode, "cordova", StringComparison.OrdinalIgnoreCase) ? "?v=" + version : string.Empty; @@ -433,7 +433,7 @@ namespace MediaBrowser.WebDashboard.Api /// <param name="mode">The mode.</param> /// <param name="version">The version.</param> /// <returns>System.String.</returns> - private string GetInitialJavascript(string mode, Version version) + private string GetInitialJavascript(string mode, string version) { var builder = new StringBuilder(); @@ -457,7 +457,7 @@ namespace MediaBrowser.WebDashboard.Api /// <param name="mode">The mode.</param> /// <param name="version">The version.</param> /// <returns>System.String.</returns> - private string GetCommonJavascript(string mode, Version version) + private string GetCommonJavascript(string mode, string version) { var builder = new StringBuilder(); |
