summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-07-22 14:42:59 +0300
committerSebastian Dröge <sebastian@centricular.com>2016-07-25 13:22:10 +0300
commit8666d9fda0be7f86f548297dc83b09d92824de49 (patch)
treef16c48fed05447bb253bde04f95bfb5ac8f99954
parentcae04c59b04278397aaaf08f5c4917853a8fc858 (diff)
downloadgst-libav-8666d9fda0be7f86f548297dc83b09d92824de49.tar.gz
libav: Ignore VAAPI decoders and VAAPI/nvenc encoders
These can show up when having a build against a system version of ffmpeg.
-rw-r--r--ext/libav/gstavviddec.c7
-rw-r--r--ext/libav/gstavvidenc.c14
2 files changed, 21 insertions, 0 deletions
diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
index 53391ad..2fdff95 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 2d8391b..f22f697 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)