From 5f4bd291c1368bfb7c702cea100a5ab45ae065d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 22 Jul 2016 14:42:59 +0300 Subject: [PATCH] libav: Ignore VAAPI decoders and VAAPI/nvenc encoders These can show up when having a build against a system version of ffmpeg. --- ext/libav/gstavviddec.c | 7 +++++++ ext/libav/gstavvidenc.c | 14 ++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c index 53391ad81b..2fdff95567 100644 --- a/ext/libav/gstavviddec.c +++ b/ext/libav/gstavviddec.c @@ -2061,6 +2061,13 @@ gst_ffmpegviddec_register (GstPlugin * plugin) goto next; } + if (strstr (in_plugin->name, "vaapi")) { + GST_DEBUG + ("Ignoring VAAPI decoder %s. We can't handle this outside of ffmpeg", + in_plugin->name); + goto next; + } + GST_DEBUG ("Trying plugin %s [%s]", in_plugin->name, in_plugin->long_name); /* no codecs for which we're GUARANTEED to have better alternatives */ diff --git a/ext/libav/gstavvidenc.c b/ext/libav/gstavvidenc.c index 2d8391b392..f22f697ee8 100644 --- a/ext/libav/gstavvidenc.c +++ b/ext/libav/gstavvidenc.c @@ -973,6 +973,20 @@ gst_ffmpegvidenc_register (GstPlugin * plugin) goto next; } + if (strstr (in_plugin->name, "vaapi")) { + GST_DEBUG + ("Ignoring VAAPI encoder %s. We can't handle this outside of ffmpeg", + in_plugin->name); + goto next; + } + + if (g_str_has_suffix (in_plugin->name, "_nvenc")) { + GST_DEBUG + ("Ignoring nvenc encoder %s. We can't handle this outside of ffmpeg", + in_plugin->name); + goto next; + } + /* only video encoders */ if (!av_codec_is_encoder (in_plugin) || in_plugin->type != AVMEDIA_TYPE_VIDEO)