mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-29 19:50:40 +00:00
b4d7be2014
Original commit message from CVS: 2005-05-04 Andy Wingo <wingo@pobox.com> * check/Makefile.am: * docs/gst/tmpl/gstatomic.sgml: * docs/gst/tmpl/gstplugin.sgml: * gst/base/gstbasesink.c: (gst_basesink_activate): * gst/base/gstbasesrc.c: (gst_basesrc_class_init), (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query), (gst_basesrc_set_property), (gst_basesrc_get_property), (gst_basesrc_check_get_range), (gst_basesrc_activate): * gst/base/gstbasesrc.h: * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate), (gst_base_transform_src_activate): * gst/elements/gstelements.c: * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init), (gst_fakesrc_set_property), (gst_fakesrc_get_property): * gst/elements/gsttee.c: (gst_tee_sink_activate): * gst/elements/gsttypefindelement.c: (find_element_get_length), (gst_type_find_element_checkgetrange), (gst_type_find_element_activate): * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself): * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself), (gst_caps_load_thyself): * gst/gstelement.c: (gst_element_pads_activate), (gst_element_save_thyself), (gst_element_restore_thyself): * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself), (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range): * gst/gstpad.h: * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc), (gst_xml_parse_file), (gst_xml_parse_memory), (gst_xml_get_element), (gst_xml_make_element): * gst/indexers/gstfileindex.c: (gst_file_index_load), (_file_index_id_save_xml), (gst_file_index_commit): * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint), (read_enum), (load_pad_template), (load_feature), (load_plugin), (load_paths): * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps), (gst_dp_packet_from_event), (gst_dp_caps_from_packet): * tools/gst-complete.c: (main): * tools/gst-compprep.c: (main): * tools/gst-inspect.c: (print_element_properties_info): * tools/gst-launch.c: (xmllaunch_parse_cmdline): * tools/gst-xmlinspect.c: (print_element_properties): GCC 4 fixen.
346 lines
7.3 KiB
Text
346 lines
7.3 KiB
Text
<!-- ##### SECTION Title ##### -->
|
|
GstPlugin
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
Container for features loaded from a shared object module
|
|
|
|
<!-- ##### 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 <symbol>plugin_desc</symbol> 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 (e.g. from the #GstRegistryPool), you can
|
|
add any object that subclasses #GstPluginFeature.
|
|
</para>
|
|
<para>
|
|
Use gst_plugin_find_feature() and gst_plugin_get_feature_list() to find features in a plugin.
|
|
</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>
|
|
|
|
<!-- ##### FUNCTION gst_plugin_error_quark ##### -->
|
|
<para>
|
|
Get the error quark
|
|
</para>
|
|
|
|
@Returns: The error quark used in GError messages
|
|
|
|
|
|
<!-- ##### MACRO GST_PLUGIN_ERROR ##### -->
|
|
<para>
|
|
The error quark
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### ENUM GstPluginError ##### -->
|
|
<para>
|
|
The plugin loading errors
|
|
</para>
|
|
|
|
@GST_PLUGIN_ERROR_MODULE: The plugin could not be loaded
|
|
@GST_PLUGIN_ERROR_DEPENDENCIES: The plugin has unresolved dependencies
|
|
@GST_PLUGIN_ERROR_NAME_MISMATCH: The plugin has already be loaded from a different file
|
|
|
|
<!-- ##### STRUCT GstPlugin ##### -->
|
|
<para>
|
|
The plugin object
|
|
</para>
|
|
|
|
@desc:
|
|
@filename:
|
|
@features:
|
|
@numfeatures:
|
|
@manager:
|
|
@module:
|
|
@_gst_reserved:
|
|
|
|
<!-- ##### 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 major version number of core that plugin was compiled for
|
|
@minor_version: the minor version number of core that plugin was compiled for
|
|
@name: a unique name of the plugin
|
|
@description:
|
|
@plugin_init: The init function of this plugin.
|
|
@plugin_exit:
|
|
@version: version of the plugin
|
|
@license: effective license of plugin
|
|
@package: package plugin belongs to
|
|
@origin: URL to provider of plugin
|
|
@_gst_reserved:
|
|
|
|
<!-- ##### 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>
|
|
|
|
@plugin: The plugin object that can be used to register stuff for this plugin.
|
|
@Returns: A boolean indicating success or failure.
|
|
<!-- # Unused Parameters # -->
|
|
@module: The <classname>GModule</classname> it was loaded from
|
|
|
|
|
|
<!-- ##### USER_FUNCTION GstPluginExitFunc ##### -->
|
|
<para>
|
|
Exiting function when plugin is unloaded.
|
|
</para>
|
|
|
|
@plugin: The plugin object that can be used to unregister stuff for this plugin.
|
|
|
|
|
|
<!-- ##### MACRO GST_PLUGIN_DEFINE ##### -->
|
|
<para>
|
|
This macro needs to be used to define the entry point and meta data of a plugin.
|
|
One would use this macro to export a plugin, so that it can be used by other applications
|
|
</para>
|
|
|
|
@major: major version number of the gstreamer-core that plugin was compiled for
|
|
@minor: minor version number of the gstreamer-core that plugin was compiled for
|
|
@name: short, but unique name of the plugin
|
|
@description: information about the purpose of the plugin
|
|
@init: function pointer to the plugin_init method with the signature of <code>static gboolean plugin_init (GstPlugin * plugin)</code>.
|
|
@version: full version string (e.g. VERSION from config.h)
|
|
@license: under which licence the package has been released, e.g. GPL, LGPL.
|
|
@package: the package-name (e.g. PACKAGE_NAME from config.h)
|
|
@origin: a description from where the package comes from (e.g. the homepage URL)
|
|
|
|
|
|
<!-- ##### MACRO GST_PLUGIN_DEFINE_STATIC ##### -->
|
|
<para>
|
|
This macro needs to be used to define the entry point and meta data of a local plugin.
|
|
One would use this macro to define a local plugin that can only be used by the own application.
|
|
</para>
|
|
|
|
@major: major version number of the gstreamer-core that plugin was compiled for
|
|
@minor: minor version number of the gstreamer-core that plugin was compiled for
|
|
@name: short, but unique name of the plugin
|
|
@description: information about the purpose of the plugin
|
|
@init: function pointer to the plugin_init method with the signature of <code>static gboolean plugin_init (GstPlugin * plugin)</code>.
|
|
@version: full version string (e.g. VERSION from config.h)
|
|
@license: under which licence the package has been released, e.g. GPL, LGPL.
|
|
@package: the package-name (e.g. PACKAGE_NAME from config.h)
|
|
@origin: a description from where the package comes from (e.g. the homepage URL)
|
|
|
|
|
|
<!-- ##### MACRO GST_LICENSE_UNKNOWN ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### USER_FUNCTION GstPluginFilter ##### -->
|
|
<para>
|
|
A function that can be used with e.g. gst_registry_plugin_filter()
|
|
to get a list of plugins that match certain criteria.
|
|
</para>
|
|
|
|
@plugin: the plugin to check
|
|
@user_data: the user_data that has been passed on e.g. gst_registry_plugin_filter()
|
|
@Returns: TRUE for a positive match, FALSE otherwise
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_name ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_description ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_filename ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_license ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_package ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_origin ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_module ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_version ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_is_loaded ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_feature_filter ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@filter:
|
|
@first:
|
|
@user_data:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_list_feature_filter ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@list:
|
|
@filter:
|
|
@first:
|
|
@user_data:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_name_filter ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_get_feature_list ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_find_feature ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@name:
|
|
@type:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_check_file ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@filename:
|
|
@error:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_load_file ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@filename:
|
|
@error:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_unload_plugin ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_add_feature ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@plugin:
|
|
@feature:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_plugin_load ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@name:
|
|
@Returns:
|
|
|
|
|