diff options
author | leigh123linux@googlemail.com <leigh123linux@googlemail.com> | 2016-11-11 16:03:00 +0000 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-11-12 10:35:01 +0200 |
commit | 162d9d5375f30aed2ff533c6c8a64402abc36dd2 (patch) | |
tree | 2d7e9f83434c095e6f59eda7fc6632faafdedd9a | |
parent | 53e5dd77f7b0f06dabe2cc3cef49c3f848b2780a (diff) | |
download | gst-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.c | 7 | ||||
-rw-r--r-- | ext/libav/gstavvidenc.c | 9 |
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) |