diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-09-06 00:21:23 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-09-06 00:21:23 -0400 |
| commit | 58eb50095676ec8bb4f7d4e1d0fc766dd3280305 (patch) | |
| tree | 9e183c21f39db3f826dcfecde24df6b16b0037ca /MediaBrowser.MediaEncoding | |
| parent | 195391aba0aee34d819b95cc60d271c0ab6b048e (diff) | |
fixes #914 - Add option to save metadata hidden
Diffstat (limited to 'MediaBrowser.MediaEncoding')
| -rw-r--r-- | MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs index 7a3a7d2d0..3b8dafa8e 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs @@ -59,7 +59,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles try { // Return the original without any conversions, if possible - if (startTimeTicks == 0 && + if (startTimeTicks == 0 && !endTimeTicks.HasValue && string.Equals(inputFormat, outputFormat, StringComparison.OrdinalIgnoreCase)) { @@ -158,14 +158,14 @@ namespace MediaBrowser.MediaEncoding.Subtitles var fileInfo = await GetReadableFile(mediaSource.Path, inputFiles, mediaSource.Protocol, subtitleStream, cancellationToken).ConfigureAwait(false); - var stream = await GetSubtitleStream(fileInfo.Item1, subtitleStream.Language).ConfigureAwait(false); + var stream = await GetSubtitleStream(fileInfo.Item1, subtitleStream.Language, fileInfo.Item3).ConfigureAwait(false); return new Tuple<Stream, string>(stream, fileInfo.Item2); } - private async Task<Stream> GetSubtitleStream(string path, string language) + private async Task<Stream> GetSubtitleStream(string path, string language, bool requiresCharset) { - if (!string.IsNullOrEmpty(language)) + if (requiresCharset && !string.IsNullOrEmpty(language)) { var charset = GetSubtitleFileCharacterSet(path, language); @@ -188,7 +188,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles return File.OpenRead(path); } - private async Task<Tuple<string, string>> GetReadableFile(string mediaPath, + private async Task<Tuple<string, string, bool>> GetReadableFile(string mediaPath, string[] inputFiles, MediaProtocol protocol, MediaStream subtitleStream, @@ -225,7 +225,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles await ExtractTextSubtitle(inputFiles, protocol, subtitleStream.Index, outputCodec, outputPath, cancellationToken) .ConfigureAwait(false); - return new Tuple<string, string>(outputPath, outputFormat); + return new Tuple<string, string, bool>(outputPath, outputFormat, false); } var currentFormat = (Path.GetExtension(subtitleStream.Path) ?? subtitleStream.Codec) @@ -239,10 +239,10 @@ namespace MediaBrowser.MediaEncoding.Subtitles await ConvertTextSubtitleToSrt(subtitleStream.Path, outputPath, subtitleStream.Language, cancellationToken) .ConfigureAwait(false); - return new Tuple<string, string>(outputPath, "srt"); + return new Tuple<string, string, bool>(outputPath, "srt", false); } - return new Tuple<string, string>(subtitleStream.Path, currentFormat); + return new Tuple<string, string, bool>(subtitleStream.Path, currentFormat, false); } private async Task<SubtitleTrackInfo> GetTrackInfo(Stream stream, @@ -647,7 +647,10 @@ namespace MediaBrowser.MediaEncoding.Subtitles _logger.Info(msg); } - await SetAssFont(outputPath).ConfigureAwait(false); + if (string.Equals(outputCodec, "ass", StringComparison.OrdinalIgnoreCase)) + { + await SetAssFont(outputPath).ConfigureAwait(false); + } } /// <summary> |
