From d7b7d9deb77af60fcde26c56107e530c247846fe Mon Sep 17 00:00:00 2001 From: Stefan Sauer Date: Tue, 10 May 2016 22:04:48 -0700 Subject: [PATCH] lv2: skip plugins that need host features We haven't implemented this yet and those plugin would fail when we instantiate them. --- ext/lv2/gstlv2.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ext/lv2/gstlv2.c b/ext/lv2/gstlv2.c index 4d5aeff7cd..d15cbeb7d0 100644 --- a/ext/lv2/gstlv2.c +++ b/ext/lv2/gstlv2.c @@ -64,6 +64,7 @@ lv2_plugin_discover (GstPlugin * plugin) i = lilv_plugins_next (plugins, i)) { const LilvPlugin *lv2plugin = lilv_plugins_get (plugins, i); const gchar *plugin_uri, *p; + LilvNodes *required_features; gchar *type_name; GHashTable *port_groups = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); @@ -82,6 +83,15 @@ lv2_plugin_discover (GstPlugin * plugin) if (g_type_from_name (type_name)) goto next; + /* check if we support the required host features */ + required_features = lilv_plugin_get_required_features (lv2plugin); + if (required_features) { + GST_FIXME ("lv2 plugin %s needs host features", plugin_uri); + // TODO: implement host features, will be passed to + // lilv_plugin_instantiate() + goto next; + } + /* check if this has any audio ports */ num_sink_pads = num_src_pads = 0; for (j = 0; j < lilv_plugin_get_num_ports (lv2plugin); j++) {