diff options
| author | Mathieu Velten <matmaul@gmail.com> | 2018-12-16 17:36:08 +0100 |
|---|---|---|
| committer | Mathieu Velten <matmaul@gmail.com> | 2019-01-20 22:50:17 +0100 |
| commit | 060eb98cc532bedae80c92bf50ed6c369023cfad (patch) | |
| tree | 3167ee82f07e7471d2809e15e40a16ab3f2e6207 | |
| parent | da16de48aad03f4f32b05e9e25016bcec529f18b (diff) | |
Fix encoding profile handling for vaapi
| -rw-r--r-- | MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index f7b9be806..e6899857f 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -760,14 +760,18 @@ namespace MediaBrowser.Controller.MediaEncoding var request = state.BaseRequest; var profile = state.GetRequestedProfiles(targetVideoCodec).FirstOrDefault(); - if (string.Equals(videoEncoder, "h264_vaapi", StringComparison.OrdinalIgnoreCase)) + + // vaapi does not support Baseline profile, force Constrained Baseline in this case, + // which is compatible (and ugly) + if (string.Equals(videoEncoder, "h264_vaapi", StringComparison.OrdinalIgnoreCase) && + profile != null && profile.ToLower().Contains("baseline")) { - param += " -profile:v 578"; + profile = "constrained_baseline"; } - else if (!string.IsNullOrEmpty(profile)) + + if (!string.IsNullOrEmpty(profile)) { if (!string.Equals(videoEncoder, "h264_omx", StringComparison.OrdinalIgnoreCase) && - !string.Equals(videoEncoder, "h264_vaapi", StringComparison.OrdinalIgnoreCase) && !string.Equals(videoEncoder, "h264_v4l2m2m", StringComparison.OrdinalIgnoreCase)) { // not supported by h264_omx |
