为了不被列入黑名单,gstreamer 插件的有效许可类型是什么?

What are the valid license types for gstreamer plugins in order no to be blacklisted?

我正在编写一个基于 gst 模板的 gstreamer 插件,它构建正常。 但是,如果我将许可类型从 LGPL 更改为其他类型(这是一个闭源商业项目),gstreamer 不喜欢它并将其放入黑名单。

在meson.build中:

cdata.set_quoted('GST_LICENSE', 'LGPL')

它工作正常。

但是如果我将许可更改为例如 Commercial,它会在 gst-inspect 中出现错误,如下所示:

WARN      GST_PLUGIN_LOADING gstplugin.c:501:gst_plugin_register_func: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstaaaasink.so" has invalid license "Commercial", not loading

我想看看我可以为这种 gstreamer 插件使用哪个许可证。

好的,从源码来看: https://github.com/GStreamer/gstreamer/blob/5e3bf0fff7205390de56747f950f726b456fc65d/subprojects/gstreamer/gst/gstplugin.c#L100

static const gchar known_licenses[] = "LGPL[=10=]0"        /* GNU Lesser General Public License */
    "GPL[=10=]0"                   /* GNU General Public License */
    "QPL[=10=]0"                   /* Trolltech Qt Public License */
    "GPL/QPL[=10=]0"               /* Combi-license of GPL + QPL */
    "MPL[=10=]0"                   /* MPL 1.1 license */
    "MPL-2.0[=10=]0"               /* MPL 2.0 license */
    "BSD[=10=]0"                   /* 3-clause BSD license */
    "MIT/X11[=10=]0"               /* MIT/X11 license */
    "0BSD[=10=]0"                  /* Zero-Clause BSD */
    "Proprietary[=10=]0"           /* Proprietary license */
    GST_LICENSE_UNKNOWN;        /* some other license */

我应该使用 Proprietary