plugin插件加载和初始化流程详解

plugin插件加载和初始化流程详解

首先,我们需要知道插件代码中一共有三个初始化函数,分别是:

插件的初始化函数plugin_init,完成类class的注册;插件类的初始化函数gst_xxx_class_init,完成类的初始化,对应成员class_init;对象的初始化函数gst_xxx_init,初始化对象本身,对应成员instance_init。

类比C++,gst_xxx_class_init是定义类,并创建类的静态成员,gst_xxx_init是创建类的具体对象,完成对象本身的初始化。所以,当我们多次gst_element_factory_create 来创建元素的时候,gst_xxx_class_init只会在第一次被调用创建该类型,gst_xxx_init会调用多次,创建多个对象。 至于为啥需要这么麻烦,弄这么多init函数,需要学习一下GObject的相关资料,这里就不扩散了。

1. 插件函数的

比丘资源网 » plugin插件加载和初始化流程详解

发表回复

提供最优质的资源集合

立即查看 了解详情