libav: Ignore VAAPI decoders and VAAPI/nvenc encoders
authorSebastian Dröge <sebastian@centricular.com>
Fri, 22 Jul 2016 11:42:59 +0000 (14:42 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Fri, 22 Jul 2016 11:42:59 +0000 (14:42 +0300)
These can show up when having a build against a system version of ffmpeg.

ext/libav/gstavviddec.c
ext/libav/gstavvidenc.c

index 53391ad..2fdff95 100644 (file)
@@ -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 */
index 2d8391b..f22f697 100644 (file)
@@ -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)