diff options
| author | David <daullmer@gmail.com> | 2021-02-13 22:55:33 +0100 |
|---|---|---|
| committer | David <daullmer@gmail.com> | 2021-02-13 22:55:33 +0100 |
| commit | fc7377fb9bf2b227a8a2300e6909d7c74862c8ab (patch) | |
| tree | 667966225e0aa2a4dce983f744f07581e5bfd37f /MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs | |
| parent | 7f12b273197204c49862623b6de6b1a573af2cd8 (diff) | |
| parent | 6616add8c8526456e343d7b576d22df0ed261124 (diff) | |
Merge remote-tracking branch 'jellyfin/master' into nfo-tests
# Conflicts:
# tests/Jellyfin.XbmcMetadata.Tests/Parsers/EpisodeNfoProviderTests.cs
# tests/Jellyfin.XbmcMetadata.Tests/Parsers/SeriesNfoParserTests.cs
Diffstat (limited to 'MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs')
| -rw-r--r-- | MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs index 92f16ab95..9e2417603 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs @@ -296,6 +296,38 @@ namespace MediaBrowser.MediaEncoding.Encoder return found; } + public bool CheckFilter(string filter, string option) + { + if (string.IsNullOrEmpty(filter)) + { + return false; + } + + string output = null; + try + { + output = GetProcessOutput(_encoderPath, "-h filter=" + filter); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error detecting the given filter"); + } + + if (output.Contains("Filter " + filter, StringComparison.Ordinal)) + { + if (string.IsNullOrEmpty(option)) + { + return true; + } + + return output.Contains(option, StringComparison.Ordinal); + } + + _logger.LogWarning("Filter: {Name} with option {Option} is not available", filter, option); + + return false; + } + private IEnumerable<string> GetCodecs(Codec codec) { string codecstr = codec == Codec.Encoder ? "encoders" : "decoders"; |
