Commit 788bac10 authored by Stefan Kost's avatar Stefan Kost

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!)
parent 41aca727
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:
......
......@@ -13,6 +13,7 @@ gstreamer.signals
html
sgml
tmpl
*.stamp
gstreamer.html
......
*.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
<!-- ##### 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:
<!-- ##### 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"
......
......@@ -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 */