gstreamer/docs/gst/tmpl/gstplugin.sgml

317 lines
5 KiB
Text
Raw Normal View History

<!-- ##### 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 following basic <application>GStreamer</application>
objects factories:
<itemizedlist>
<listitem>
<para>
A #GstElementFactory: the components to build a pipeline.
</para>
</listitem>
<listitem>
<para>
A #GstTypeFactory: A MIME type and an optional typefind function.
</para>
</listitem>
<listitem>
<para>
A #GstAutoplugFactory: An object used to automatically construct pipelines.
</para>
</listitem>
</itemizedlist>
</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>
Optionally a new plugin is created with gst_plugin_new(). this function will return a handle
to the GstPlugin or NULL if the plugin could not be created.
</para>
<para>
Once you have a handle to a #GstPlugin, you can add the different types of factories
to it with gst_plugin_add_factory(), gst_plugin_add_type(), gst_plugin_add_autoplugger().
</para>
<para>
use gst_plugin_find(), gst_plugin_get_list(), gst_plugin_get_factory_list(), gst_plugin_get_type_list() and
gst_plugin_get_autoplug_list() to query the plugin repository.
</para>
<para>
Plugins are always automaticlly loaded so you don't need to call gst_plugin_load() explicitly
to bring it into memory.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GstElement, #GstType, #GstAutoplug
</para>
<!-- ##### STRUCT GstPlugin ##### -->
<para>
</para>
@name:
@longname:
@filename:
@types:
@numtypes:
@elements:
@numelements:
@autopluggers:
@numautopluggers:
@loaded:
<!-- ##### 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.
<!-- ##### FUNCTION gst_plugin_new ##### -->
<para>
</para>
@name:
@major:
@minor:
@Returns:
<!-- ##### 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_add_factory ##### -->
<para>
</para>
@plugin:
@factory:
<!-- ##### FUNCTION gst_plugin_add_type ##### -->
<para>
</para>
@plugin:
@factory:
<!-- ##### FUNCTION gst_plugin_add_autoplugger ##### -->
<para>
</para>
@plugin:
@factory:
<!-- ##### FUNCTION gst_plugin_find ##### -->
<para>
</para>
@name:
@Returns:
<!-- ##### FUNCTION gst_plugin_get_list ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gst_plugin_get_factory_list ##### -->
<para>
</para>
@plugin:
@Returns:
<!-- ##### FUNCTION gst_plugin_get_type_list ##### -->
<para>
</para>
@plugin:
@Returns:
<!-- ##### FUNCTION gst_plugin_get_autoplug_list ##### -->
<para>
</para>
@plugin:
@Returns:
<!-- ##### FUNCTION gst_plugin_load_elementfactory ##### -->
<para>
</para>
@name:
@Returns:
<!-- ##### FUNCTION gst_plugin_load_typefactory ##### -->
<para>
</para>
@mime:
<!-- ##### FUNCTION gst_plugin_load_autoplugfactory ##### -->
<para>
</para>
@name:
@Returns:
<!-- ##### FUNCTION gst_plugin_load_thyself ##### -->
<para>
</para>
@parent:
<!-- ##### FUNCTION gst_plugin_save_thyself ##### -->
<para>
</para>
@parent:
@Returns: