Android 上的静态插件 gstreamer

static plugin gstreamer on Android

我想在 Android 上为 GStreamer 创建一个自定义插件。我想知道如何为 Android 交叉编译静态自定义插件并创建文件 *.a 和 *.la 并将其添加到我的项目中。

谢谢你。 亚历克斯

您通常不必创建自定义插件,除非它是什么 应该可以将其放入其他应用程序中。在那里面 case 静态和动态插件之间的唯一区别是构建 系统魔法

但是如果您只想为您的创建自定义 GstElement 子类 应用程序,您可以在不定义新插件的情况下这样做。你会 只需在您的应用程序代码中创建子类,然后调用 gst_element_register() 与你的子类的 GType 和 NULL 作为 插入。然后它可以像任何其他 GStreamer 元素一样使用。

使用 gst_element_register() 也是只有当你想成为 能够使用 gst_element_factory_make() 创建一个实例。如果你不 需要它,你也可以只使用普通的 g_object_new() 来创建一个 来自 GType 的实例。

如果你真的想创建一个静态插件,即为此所需的 .la 和 .a 文件,你将不得不像动态插件一样编写插件。也就是说,像往常一样使用 GST_PLUGIN_DEFINE() 并在使用 Android 工具链构建时使用 #define GST_PLUGIN_BUILD_STATIC。