mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
43cbc42c45
Original commit message from CVS: the 'brown paper bag' commit. sorry for the email spam on this one, but it will be laaaarrrggggeee
269 lines
5 KiB
Text
269 lines
5 KiB
Text
<!-- ##### SECTION Title ##### -->
|
|
GstPlugin
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
Dynamically loadable Elements
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
GStreamer is extensible so <classname>GstElements</classname> can be loaded at runtime. A plugin
|
|
system can provide one or more of the basic <application>GStreamer</application>
|
|
#GstPluginFeature subclasses.
|
|
</para>
|
|
<para>
|
|
A plugin should export a symbol plugin_desc that is a struct of type #GstPluginDesc.
|
|
the plugin loader will check the version of the core library the plugin was linked against
|
|
and will create a new #GstPlugin. It will then call the #GstPluginInitFunc function
|
|
that was provided in the plugin_desc.
|
|
</para>
|
|
<para>
|
|
Once you have a handle to a #GstPlugin, you can add any object that subclasses #GstPluginFeature.
|
|
</para>
|
|
<para>
|
|
use gst_plugin_find(), gst_plugin_get_list() and gst_plugin_get_feature_list()
|
|
to query the plugin repository.
|
|
</para>
|
|
<para>
|
|
Usually plugins are always automaticlly loaded so you don't need to call gst_plugin_load() explicitly
|
|
to bring it into memory. There are options to statically link plugins to an app or even
|
|
use GStreamer without a plugin repository in which case gst_plugin_load() can be needed
|
|
to bring the plugin into memory.
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
#GstPluginFeature, #GstType, #GstAutoplug, #GstElementFactory
|
|
</para>
|
|
|
|
<!-- ##### STRUCT GstPlugin ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@name:
|
|
@longname:
|
|
@filename:
|
|
@features:
|
|
@numfeatures:
|
|
@module:
|
|
|
|
<!-- ##### USER_FUNCTION GstPluginInitFunc ##### -->
|
|
<para>
|
|
A plugin should provide a pointer to a function of this type in the plugin_desc struct.
|
|
It will be called by the loader at statup.
|
|
</para>
|
|
|
|
@module: The <classname>GModule</classname> it was loaded from
|
|
@plugin: The plugin object that can be used to register stuff for this plugin.
|
|
@Returns: A boolean indicating success or failure.
|
|
|
|
|
|
<!-- ##### STRUCT GstPluginDesc ##### -->
|
|
<para>
|
|
A plugins should export a variable of this type called plugin_desc. This plugin
|
|
loaded will use this variable to initialize the plugin.
|
|
</para>
|
|
|
|
@major_version: The minor version of the gstreamer library this plugin was created with
|
|
@minor_version: The minor version of the gstreamer library this plugin was created with
|
|
@name: The name of the plugin
|
|
@plugin_init: The init function of this plugin.
|
|
|
|
<!-- ##### MACRO GST_PLUGIN_DESC ##### -->
|
|
<para>
|
|
A handy macro to define a plugin description. This macro handles with all the issues
|
|
involved with the different linking methods for this plugin.
|
|
</para>
|
|
|
|
@major: The major version of GStreamer this plugin was compiled against.
|
|
@minor: The minor version of GStreamer this plugin was compiled against.
|
|
@name: The name of the plugin.
|
|
@init: The init function of this plugin.
|
|
|
|
|
|
<!-- ##### MACRO GST_PLUGIN_DESC_DYNAMIC ##### -->
|
|
<para>
|
|
The macro used to define dynamically loaded plugins.
|
|
</para>
|
|
|
|
@major: The major version of GStreamer this plugin was compiled against.
|
|
@minor: The minor version of GStreamer this plugin was compiled against.
|
|
@name: The name of the plugin.
|
|
@init: The init function of this plugin.
|
|
|
|
|
|
<!-- ##### MACRO GST_PLUGIN_DESC_STATIC ##### -->
|
|
<para>
|
|
A macro used to define a statically linked plugin.
|
|
</para>
|
|
|
|
@major: The major version of GStreamer this plugin was compiled against.
|
|
@minor: The minor version of GStreamer this plugin was compiled against.
|
|
@name: The name of the plugin.
|
|
@init: The init function of this plugin.
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_set_name ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@name:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_name ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_longname ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_set_longname ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@longname:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_filename ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_is_loaded ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_load_all ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_load ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_load_absolute ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_add_path ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@path:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_library_load ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_find ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_list ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_load_thyself ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@parent:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_save_thyself ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@parent:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_add_feature ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@feature:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_feature_list ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_load_plugin ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_unload_all ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
|
|
|