mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
inlined the last two docs files removed the tmpl directory from cvs (no more conflicts here!)
Original commit message from CVS: * docs/gst/.cvsignore: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstpipeline.sgml: * docs/gst/tmpl/gstplugin.sgml: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstplugin.h: inlined the last two docs files removed the tmpl directory from cvs (no more conflicts here!)
This commit is contained in:
parent
41aca72772
commit
788bac107d
8 changed files with 163 additions and 509 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2005-09-25 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* docs/gst/.cvsignore:
|
||||
* docs/gst/tmpl/.cvsignore:
|
||||
* docs/gst/tmpl/gstpipeline.sgml:
|
||||
* docs/gst/tmpl/gstplugin.sgml:
|
||||
* gst/gstpipeline.c:
|
||||
* gst/gstplugin.c:
|
||||
* gst/gstplugin.h:
|
||||
inlined the last two docs files
|
||||
removed the tmpl directory from cvs (no more conflicts here!)
|
||||
|
||||
2005-09-25 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* docs/gst/gstreamer-sections.txt:
|
||||
|
|
1
docs/gst/.gitignore
vendored
1
docs/gst/.gitignore
vendored
|
@ -13,6 +13,7 @@ gstreamer.signals
|
|||
|
||||
html
|
||||
sgml
|
||||
tmpl
|
||||
*.stamp
|
||||
|
||||
gstreamer.html
|
||||
|
|
67
docs/gst/tmpl/.gitignore
vendored
67
docs/gst/tmpl/.gitignore
vendored
|
@ -1,67 +0,0 @@
|
|||
*.bak
|
||||
unused-build.stamp
|
||||
gst.sgml
|
||||
gstadapter.sgml
|
||||
gstbasesink.sgml
|
||||
gstbasesrc.sgml
|
||||
gstbasetransform.sgml
|
||||
gstbin.sgml
|
||||
gstbuffer.sgml
|
||||
gstbus.sgml
|
||||
gstcaps.sgml
|
||||
gstcheck.sgml
|
||||
gstclock.sgml
|
||||
gstchildproxy.sgml
|
||||
gstcollectpads.sgml
|
||||
gstcompat.sgml
|
||||
gstconfig.sgml
|
||||
gstelement.sgml
|
||||
gstelementdetails.sgml
|
||||
gstelementfactory.sgml
|
||||
gstenumtypes.sgml
|
||||
gstevent.sgml
|
||||
gsterror.sgml
|
||||
gstfakesrc.sgml
|
||||
gstfakesink.sgml
|
||||
gstfilesrc.sgml
|
||||
gstfilesink.sgml
|
||||
gstfilter.sgml
|
||||
gstformat.sgml
|
||||
gstghostpad.sgml
|
||||
gstimplementsinterface.sgml
|
||||
gstindex.sgml
|
||||
gstindexfactory.sgml
|
||||
gstinfo.sgml
|
||||
gstiterator.sgml
|
||||
gstmacros.sgml
|
||||
gstmemchunk.sgml
|
||||
gstmessage.sgml
|
||||
gstminiobject.sgml
|
||||
gstobject.sgml
|
||||
gstpad.sgml
|
||||
gstpadtemplate.sgml
|
||||
gstparse.sgml
|
||||
gstpluginfeature.sgml
|
||||
gstpushsrc.sgml
|
||||
gstqueue.sgml
|
||||
gstquery.sgml
|
||||
gstreamer-unused.sgml
|
||||
gstregistry.sgml
|
||||
gstregistrypool.sgml
|
||||
gststructure.sgml
|
||||
gstsystemclock.sgml
|
||||
gsttaglist.sgml
|
||||
gsttagsetter.sgml
|
||||
gsttask.sgml
|
||||
gsttrace.sgml
|
||||
gsttrashstack.sgml
|
||||
gsttypefind.sgml
|
||||
gsttypefindfactory.sgml
|
||||
gsttypes.sgml
|
||||
gsturihandler.sgml
|
||||
gsturitype.sgml
|
||||
gstutils.sgml
|
||||
gstvalue.sgml
|
||||
gstversion.sgml
|
||||
gstxml.sgml
|
||||
gstxmlregistry.sgml
|
|
@ -1,125 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstPipeline
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Top-level bin with scheduling and pipeline management functionality.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
In almost all cases, you'll want to use a GstPipeline when creating a
|
||||
filter graph. The GstPipeline will manage all the scheduling issues,
|
||||
including threading, as well as provide simple interfaces to common
|
||||
functions, like 'Play'.
|
||||
</para>
|
||||
<para>
|
||||
gst_pipeline_new() is used to create a pipeline. when you are done with
|
||||
the pipeline, use gst_object_unref() to free its resources.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstBin
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### STRUCT GstPipeline ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@fixed_clock:
|
||||
@stream_time:
|
||||
@delay:
|
||||
@play_timeout:
|
||||
|
||||
<!-- ##### ARG GstPipeline:delay ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstPipeline:play-timeout ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstPipelineFlags ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_PIPELINE_FLAG_FIXED_CLOCK:
|
||||
@GST_PIPELINE_FLAG_LAST:
|
||||
|
||||
<!-- ##### FUNCTION gst_pipeline_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pipeline_auto_clock ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pipeline:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pipeline_get_bus ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pipeline:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pipeline_get_clock ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pipeline:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pipeline_get_last_stream_time ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pipeline:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pipeline_set_clock ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pipeline:
|
||||
@clock:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pipeline_set_new_stream_time ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pipeline:
|
||||
@time:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pipeline_use_clock ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pipeline:
|
||||
@clock:
|
||||
|
||||
|
|
@ -1,304 +0,0 @@
|
|||
<!-- ##### 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>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### 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>
|
||||
|
||||
|
||||
<!-- ##### 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.
|
||||
@version: version of the plugin
|
||||
@license: effective license of plugin
|
||||
@source:
|
||||
@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
|
||||
|
||||
|
||||
<!-- ##### 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)
|
||||
<!-- # Unused Parameters # -->
|
||||
@domain:
|
||||
|
||||
|
||||
<!-- ##### 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)
|
||||
<!-- # Unused Parameters # -->
|
||||
@domain:
|
||||
|
||||
|
||||
<!-- ##### 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_source ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_get_version ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_get_module ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_is_loaded ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_name_filter ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_check_file ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@filename:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_load_file ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@filename:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_load ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@name:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_load_by_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_list_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@list:
|
||||
|
||||
|
|
@ -19,6 +19,20 @@
|
|||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/**
|
||||
* SECTION:gstpipeline
|
||||
* @short_description: Top-level bin with scheduling and pipeline management functionality.
|
||||
* @see_also: #GstBin
|
||||
*
|
||||
* In almost all cases, you'll want to use a GstPipeline when creating a filter
|
||||
* graph. The GstPipeline will manage all the scheduling issues, including
|
||||
* threading, as well as provide simple interfaces to common functions, like
|
||||
* 'Play'.
|
||||
*
|
||||
* gst_pipeline_new() is used to create a pipeline. when you are done with
|
||||
* the pipeline, use gst_object_unref() to free its resources including all
|
||||
* added #GstElement objects (if not otherwiese referenced).
|
||||
*/
|
||||
|
||||
#include "gst_private.h"
|
||||
|
||||
|
|
|
@ -19,6 +19,30 @@
|
|||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/**
|
||||
* SECTION:gstplugin
|
||||
* @short_description: Container for features loaded from a shared object module
|
||||
* @see_also: #GstPluginFeature, #GstElementFactory
|
||||
*
|
||||
* GStreamer is extensible, so #GstElement instances can be loaded at runtime.
|
||||
* A plugin system can provide one or more of the basic <application>GStreamer</application>
|
||||
* #GstPluginFeature subclasses.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Once you have a handle to a #GstPlugin (e.g. from the #GstRegistryPool), you can
|
||||
* add any object that subclasses #GstPluginFeature.
|
||||
*
|
||||
* Use gst_plugin_find_feature() and gst_plugin_get_feature_list() to find features in a plugin.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
|
|
125
gst/gstplugin.h
125
gst/gstplugin.h
|
@ -37,9 +37,29 @@ typedef struct _GstPlugin GstPlugin;
|
|||
typedef struct _GstPluginClass GstPluginClass;
|
||||
typedef struct _GstPluginDesc GstPluginDesc;
|
||||
|
||||
/**
|
||||
* gst_plugin_error_quark:
|
||||
*
|
||||
* Get the error quark.
|
||||
*
|
||||
* Returns: The error quark used in GError messages
|
||||
*/
|
||||
GQuark gst_plugin_error_quark (void);
|
||||
/**
|
||||
* GST_PLUGIN_ERROR:
|
||||
*
|
||||
* The error message category quark
|
||||
*/
|
||||
#define GST_PLUGIN_ERROR gst_plugin_error_quark ()
|
||||
|
||||
/**
|
||||
* GstPluginError:
|
||||
* @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
|
||||
*
|
||||
* The plugin loading errors
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
GST_PLUGIN_ERROR_MODULE,
|
||||
|
@ -47,25 +67,53 @@ typedef enum
|
|||
GST_PLUGIN_ERROR_NAME_MISMATCH
|
||||
} GstPluginError;
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
GST_PLUGIN_FLAG_CACHED = (1<<0),
|
||||
} GstPluginFlags;
|
||||
|
||||
/* Initialiser function: returns TRUE if plugin initialised successfully */
|
||||
/**
|
||||
* GstPluginInitFunc:
|
||||
* @plugin: The plugin object that can be used to register #GstPluginFeatures for this plugin.
|
||||
*
|
||||
* A plugin should provide a pointer to a function of this type in the
|
||||
* plugin_desc struct.
|
||||
* This function will be called by the loader at startup.
|
||||
*
|
||||
* Returns: %TRUE if plugin initialised successfully
|
||||
*/
|
||||
typedef gboolean (*GstPluginInitFunc) (GstPlugin *plugin);
|
||||
|
||||
/**
|
||||
* GstPluginDesc:
|
||||
* @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: description of plugin
|
||||
* @plugin_init: pointer to the init function of this plugin.
|
||||
* @version: version of the plugin
|
||||
* @license: effective license of plugin
|
||||
* @source: source module plugin belongs to
|
||||
* @package: shipped package plugin belongs to
|
||||
* @origin: URL to provider of plugin
|
||||
* @_gst_reserved: private, for later expansion
|
||||
*
|
||||
*
|
||||
* A plugins should export a variable of this type called plugin_desc. This plugin
|
||||
* loaded will use this variable to initialize the plugin.
|
||||
*/
|
||||
struct _GstPluginDesc {
|
||||
gint major_version; /* major version of core that plugin was compiled for */
|
||||
gint minor_version; /* minor version of core that plugin was compiled for */
|
||||
gchar *name; /* unique name of plugin */
|
||||
gchar *description; /* description of plugin */
|
||||
GstPluginInitFunc plugin_init; /* pointer to plugin_init function */
|
||||
gchar *version; /* version of the plugin */
|
||||
gchar *license; /* effective license of plugin */
|
||||
gchar *source; /* source module plugin belongs to */
|
||||
gchar *package; /* shipped package plugin belongs to */
|
||||
gchar *origin; /* URL to provider of plugin */
|
||||
gint major_version;
|
||||
gint minor_version;
|
||||
gchar *name;
|
||||
gchar *description;
|
||||
GstPluginInitFunc plugin_init;
|
||||
gchar *version;
|
||||
gchar *license;
|
||||
gchar *source;
|
||||
gchar *package;
|
||||
gchar *origin;
|
||||
|
||||
gpointer _gst_reserved[GST_PADDING];
|
||||
};
|
||||
|
@ -78,7 +126,11 @@ struct _GstPluginDesc {
|
|||
#define GST_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PLUGIN, GstPlugin))
|
||||
#define GST_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PLUGIN, GstPluginClass))
|
||||
|
||||
|
||||
/**
|
||||
* GstPlugin:
|
||||
*
|
||||
* The plugin object
|
||||
*/
|
||||
struct _GstPlugin {
|
||||
GstObject object;
|
||||
|
||||
|
@ -105,7 +157,22 @@ struct _GstPluginClass {
|
|||
/*< private >*/
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* GST_PLUGIN_DEFINE:
|
||||
* @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)
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
#define GST_PLUGIN_DEFINE(major,minor,name,description,init,version,license,package,origin) \
|
||||
GST_PLUGIN_EXPORT GstPluginDesc gst_plugin_desc = { \
|
||||
major, \
|
||||
|
@ -121,6 +188,22 @@ GST_PLUGIN_EXPORT GstPluginDesc gst_plugin_desc = { \
|
|||
GST_PADDING_INIT \
|
||||
};
|
||||
|
||||
/**
|
||||
* GST_PLUGIN_DEFINE_STATIC:
|
||||
* @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)
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
#define GST_PLUGIN_DEFINE_STATIC(major,minor,name,description,init,version,license,package,origin) \
|
||||
static void GST_GNUC_CONSTRUCTOR \
|
||||
_gst_plugin_static_init__ ##init (void) \
|
||||
|
@ -141,10 +224,26 @@ _gst_plugin_static_init__ ##init (void) \
|
|||
_gst_plugin_register_static (&plugin_desc_); \
|
||||
}
|
||||
|
||||
/**
|
||||
* GST_LICENSE_UNKNOWN:
|
||||
*
|
||||
* To be used in GST_PLUGIN_DEFINE or GST_PLUGIN_DEFINE_STATIC if usure about
|
||||
* the licence.
|
||||
*/
|
||||
#define GST_LICENSE_UNKNOWN "unknown"
|
||||
|
||||
|
||||
/* function for filters */
|
||||
/**
|
||||
* GstPluginFilter:
|
||||
* @plugin: the plugin to check
|
||||
* @user_data: the user_data that has been passed on e.g. gst_registry_plugin_filter()
|
||||
*
|
||||
* A function that can be used with e.g. gst_registry_plugin_filter()
|
||||
* to get a list of plugins that match certain criteria.
|
||||
*
|
||||
* Returns: TRUE for a positive match, FALSE otherwise
|
||||
*/
|
||||
typedef gboolean (*GstPluginFilter) (GstPlugin *plugin,
|
||||
gpointer user_data);
|
||||
|
||||
|
|
Loading…
Reference in a new issue