diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-06-25 02:52:44 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-06-25 02:52:44 -0400 |
| commit | 65c99a16de12df8bf14a980c13b5c044cbb653ad (patch) | |
| tree | 27d759d9af9cfa3a2b8bbd8252499cf433a31f92 /MediaBrowser.Model | |
| parent | 2242a4f7b17b7650a832f285a4c88a69cfdc2f81 (diff) | |
| parent | cf0d9883c6eec06fa8d065e585081716520e56e4 (diff) | |
Merge pull request #1879 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Model')
| -rw-r--r-- | MediaBrowser.Model/Dlna/StreamBuilder.cs | 10 | ||||
| -rw-r--r-- | MediaBrowser.Model/Entities/MediaStream.cs | 30 |
2 files changed, 35 insertions, 5 deletions
diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs index 7721bfd15..795057d67 100644 --- a/MediaBrowser.Model/Dlna/StreamBuilder.cs +++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs @@ -842,17 +842,17 @@ namespace MediaBrowser.Model.Dlna { bool requiresConversion = !StringHelper.EqualsIgnoreCase(subtitleStream.Codec, profile.Format); - if (requiresConversion && !allowConversion) + if (!requiresConversion) { - continue; + return profile; } - if (!requiresConversion) + if (!allowConversion) { - return profile; + continue; } - if (subtitleStream.IsTextSubtitleStream && subtitleStream.SupportsExternalStream) + if (subtitleStream.IsTextSubtitleStream && subtitleStream.SupportsExternalStream && subtitleStream.SupportsSubtitleConversionTo(profile.Format)) { return profile; } diff --git a/MediaBrowser.Model/Entities/MediaStream.cs b/MediaBrowser.Model/Entities/MediaStream.cs index af7a034fe..990de332e 100644 --- a/MediaBrowser.Model/Entities/MediaStream.cs +++ b/MediaBrowser.Model/Entities/MediaStream.cs @@ -282,6 +282,36 @@ namespace MediaBrowser.Model.Entities !StringHelper.EqualsIgnoreCase(codec, "sub"); } + public bool SupportsSubtitleConversionTo(string codec) + { + if (!IsTextSubtitleStream) + { + return false; + } + + // Can't convert from this + if (StringHelper.EqualsIgnoreCase(Codec, "ass")) + { + return false; + } + if (StringHelper.EqualsIgnoreCase(Codec, "ssa")) + { + return false; + } + + // Can't convert to this + if (StringHelper.EqualsIgnoreCase(codec, "ass")) + { + return false; + } + if (StringHelper.EqualsIgnoreCase(codec, "ssa")) + { + return false; + } + + return true; + } + /// <summary> /// Gets or sets a value indicating whether [supports external stream]. /// </summary> |
