summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleigh123linux@googlemail.com <leigh123linux@googlemail.com>2016-11-11 16:03:00 +0000
committerSebastian Dröge <sebastian@centricular.com>2016-11-12 10:35:01 +0200
commit162d9d5375f30aed2ff533c6c8a64402abc36dd2 (patch)
tree2d7e9f83434c095e6f59eda7fc6632faafdedd9a
parent53e5dd77f7b0f06dabe2cc3cef49c3f848b2780a (diff)
downloadgst-libav-162d9d5375f30aed2ff533c6c8a64402abc36dd2.tar.gz
avvidenc/dec: Disable more hardware encoder/decoders
Important when using a system ffmpeg/libav. https://bugzilla.gnome.org/show_bug.cgi?id=774278
-rw-r--r--ext/libav/gstavviddec.c7
-rw-r--r--ext/libav/gstavvidenc.c9
2 files changed, 15 insertions, 1 deletions
diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
index 077d339..e66ee4e 100644
--- a/ext/libav/gstavviddec.c
+++ b/ext/libav/gstavviddec.c
@@ -2085,6 +2085,13 @@ gst_ffmpegviddec_register (GstPlugin * plugin)
goto next;
}
+ if (g_str_has_suffix (in_plugin->name, "_qsv")) {
+ GST_DEBUG
+ ("Ignoring qsv 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 6def859..671f2f1 100644
--- a/ext/libav/gstavvidenc.c
+++ b/ext/libav/gstavvidenc.c
@@ -991,13 +991,20 @@ gst_ffmpegvidenc_register (GstPlugin * plugin)
goto next;
}
- if (g_str_has_suffix (in_plugin->name, "_nvenc")) {
+ if (strstr (in_plugin->name, "nvenc")) {
GST_DEBUG
("Ignoring nvenc encoder %s. We can't handle this outside of ffmpeg",
in_plugin->name);
goto next;
}
+ if (g_str_has_suffix (in_plugin->name, "_qsv")) {
+ GST_DEBUG
+ ("Ignoring qsv 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)