Commit da7dd488 authored by Stefan Kost's avatar Stefan Kost
Browse files

added long/short desc for controller docs added collectpads base class docs...

added long/short desc for controller docs added collectpads base class docs added correct includes to base-class docs

Original commit message from CVS:
added long/short desc for controller docs
added collectpads base class docs
added correct includes to base-class docs
parent a34f2613
2005-08-05 Stefan Kost <ensonic@users.sf.net>
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types:
* docs/gst/tmpl/gstbasesink.sgml:
* docs/gst/tmpl/gstbasesrc.sgml:
* docs/gst/tmpl/gstbasetransform.sgml:
* docs/gst/tmpl/gstfakesrc.sgml:
* gst/base/gstcollectpads.c:
* gst/base/gstcollectpads.h:
* libs/gst/controller/gst-controller.c:
* libs/gst/controller/gst-controller.h:
* libs/gst/controller/gst-helper.c:
* libs/gst/controller/gst-interpolation.c:
* libs/gst/controller/lib.c:
added long/short desc for controller docs
added collectpads base class docs
added correct includes to base-class docs
2005-08-05 Stefan Kost <ensonic@users.sf.net>
* check/gst-libs/controller.c: (gst_test_mono_source_get_property),
......
......@@ -59,6 +59,7 @@
<!ENTITY GstBaseSrc SYSTEM "xml/gstbasesrc.xml">
<!ENTITY GstBaseSink SYSTEM "xml/gstbasesink.xml">
<!ENTITY GstBaseTransform SYSTEM "xml/gstbasetransform.xml">
<!ENTITY GstCollectPads SYSTEM "xml/gstcollectpads.xml">
<!ENTITY GstPushSrc SYSTEM "xml/gstpushsrc.xml">
<!ENTITY GstFakeSrc SYSTEM "xml/gstfakesrc.xml">
......@@ -209,6 +210,7 @@
&GstBaseSrc;
&GstBaseSink;
&GstBaseTransform;
&GstCollectPads;
&GstPushSrc;
</chapter>
......
......@@ -1636,6 +1636,7 @@ gst_xml_get_type
<SECTION>
<FILE>gstadapter</FILE>
<TITLE>GstAdapter</TITLE>
<INCLUDE>gst/base/gstadapter.h</INCLUDE>
GstAdapter
GstAdapterClass
gst_adapter_new
......@@ -1660,6 +1661,7 @@ gst_adapter_src_get_type
<SECTION>
<FILE>gstbasesrc</FILE>
<TITLE>GstBaseSrc</TITLE>
<INCLUDE>gst/base/gstbasesrc.h</INCLUDE>
GstBaseSrc
GstBaseSrcClass
GstBaseSrcFlags
......@@ -1683,6 +1685,7 @@ gst_base_src_get_type
<SECTION>
<FILE>gstbasesink</FILE>
<TITLE>GstBaseSink</TITLE>
<INCLUDE>gst/base/gstbasesink.h</INCLUDE>
GstBaseSink
GstBaseSinkClass
......@@ -1705,6 +1708,7 @@ gst_base_sink_get_type
<SECTION>
<FILE>gstbasetransform</FILE>
<TITLE>GstBaseTransform</TITLE>
<INCLUDE>gst/base/gstbasetransform.h</INCLUDE>
GstBaseTransform
GstBaseTransformClass
<SUBSECTION Standard>
......@@ -1719,9 +1723,43 @@ gst_base_transform_get_type
</SECTION>
<SECTION>
<FILE>gstcollectpads</FILE>
<TITLE>GstCollectPads</TITLE>
<INCLUDE>gst/base/gstcollectpads.h</INCLUDE>
GstCollectPads
GstCollectPadsClass
GstCollectData
gst_collectpads_new
gst_collectpads_set_function
gst_collectpads_add_pad
gst_collectpads_remove_pad
gst_collectpads_is_active
gst_collectpads_collect
gst_collectpads_collect_range
gst_collectpads_start
gst_collectpads_stop
gst_collectpads_peek
gst_collectpads_pop
gst_collectpads_available
gst_collectpads_read
gst_collectpads_flush
<SUBSECTION Standard>
GST_COLLECTPADS
GST_IS_COLLECTPADS
GST_TYPE_COLLECTPADS
GST_COLLECTPADS_CLASS
GST_IS_COLLECTPADS_CLASS
GST_COLLECTPADS_GET_CLASS
<SUBSECTION Private>
gst_collectpads_get_type
</SECTION>
<SECTION>
<FILE>gstpushsrc</FILE>
<TITLE>GstPushSrc</TITLE>
<INCLUDE>gst/base/gstpushsrc.h</INCLUDE>
GstPushSrc
GstPushSrcClass
<SUBSECTION Standard>
......
......@@ -37,12 +37,14 @@ gst_xml_get_type
#include <gst/base/gstbasesrc.h>
#include <gst/base/gstbasesink.h>
#include <gst/base/gstbasetransform.h>
#include <gst/base/gstcollectpads.h>
#include <gst/base/gstpushsrc.h>
gst_adapter_get_type
gst_base_src_get_type
gst_base_sink_get_type
gst_base_transform_get_type
gst_collectpads_get_type
gst_push_src_get_type
% elements
......
<!-- ##### SECTION Title ##### -->
GstBaseSink
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GstBaseSink ##### -->
<para>
</para>
<!-- ##### ARG GstBaseSink:has-chain ##### -->
<para>
</para>
<!-- ##### ARG GstBaseSink:has-loop ##### -->
<para>
</para>
<!-- ##### ARG GstBaseSink:preroll-queue-len ##### -->
<para>
</para>
<!-- ##### STRUCT GstBaseSinkClass ##### -->
<para>
</para>
@parent_class:
@get_caps:
@set_caps:
@buffer_alloc:
@get_times:
@start:
@stop:
@unlock:
@event:
@preroll:
@render:
<!-- ##### MACRO GST_BASE_SINK_CLOCK ##### -->
<para>
</para>
@obj:
<!-- ##### MACRO GST_BASE_SINK_PAD ##### -->
<para>
</para>
@obj:
<!-- ##### SECTION Title ##### -->
GstBaseSrc
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GstBaseSrc ##### -->
<para>
</para>
@live_lock:
@live_cond:
@is_live:
@live_running:
@blocksize:
@has_loop:
@has_getrange:
@seekable:
@random_access:
@clock_id:
@end_time:
@segment_start:
@segment_end:
@segment_loop:
@need_discont:
@offset:
@size:
@num_buffers:
@num_buffers_left:
<!-- ##### ARG GstBaseSrc:blocksize ##### -->
<para>
</para>
<!-- ##### ARG GstBaseSrc:has-getrange ##### -->
<para>
</para>
<!-- ##### ARG GstBaseSrc:has-loop ##### -->
<para>
</para>
<!-- ##### ARG GstBaseSrc:num-buffers ##### -->
<para>
</para>
<!-- ##### STRUCT GstBaseSrcClass ##### -->
<para>
</para>
@parent_class:
@get_caps:
@set_caps:
@negotiate:
@start:
@stop:
@get_times:
@get_size:
@is_seekable:
@unlock:
@event:
@create:
<!-- ##### ENUM GstBaseSrcFlags ##### -->
<para>
</para>
@GST_BASE_SRC_STARTED:
@GST_BASE_SRC_FLAG_LAST:
<!-- ##### FUNCTION gst_base_src_is_live ##### -->
<para>
</para>
@src:
@Returns:
<!-- ##### FUNCTION gst_base_src_set_live ##### -->
<para>
</para>
@src:
@live:
<!-- ##### MACRO GST_BASE_SRC_PAD ##### -->
<para>
</para>
@obj:
<!-- ##### SECTION Title ##### -->
GstBaseTransform
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GstBaseTransform ##### -->
<para>
</para>
<!-- ##### STRUCT GstBaseTransformClass ##### -->
<para>
</para>
@parent_class:
@transform_caps:
@set_caps:
@get_size:
@start:
@stop:
@event:
@transform:
@transform_ip:
......@@ -43,6 +43,8 @@ GstFakeSrc
@:
@:
@:
@:
@:
@:
<!-- ##### ARG GstFakeSrc:data ##### -->
......
......@@ -18,6 +18,36 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**
* SECTION:gstcollectpads
* @short_description: manages a set of pads that operate in collect mode
* @see_also:
*
* Manages a set of pads that operate in collect mode. This means that control
* is given to the manager of this object when all pads have data.
* <itemizedlist>
* <listitem><para>
* Pads are added to the collection with add/remove_pad. The pad
* has to be a sinkpad. The chain function of the pad is
* overridden. The element_private of the pad is used to store
* private information.
* </para></listitem>
* <listitem><para>
* For each pad, data is queued in the chain function or by
* performing a pull_range.
* </para></listitem>
* <listitem><para>
* When data is queued on all pads, a callback function is called.
* </para></listitem>
* <listitem><para>
* Data can be dequeued from the pad with the _pop() method.
* One can _peek() at the data with the peek function.
* </para></listitem>
* <listitem><para>
* Data can also be dequeued with the available/read/flush calls.
* </para></listitem>
* </itemizedlist>
*/
#include "gstcollectpads.h"
......
......@@ -33,24 +33,6 @@ G_BEGIN_DECLS
#define GST_IS_COLLECTPADS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_COLLECTPADS))
#define GST_IS_COLLECTPADS_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_COLLECTPADS))
/* manages a set of pads that operate in collect mode. This means
* that control is given to the manager of this object when all
* pads have data.
*
* - pads are added to the collection with add/remove_pad. The pad
* has to be a sinkpad. The chain function of the pad is
* overridden. The element_private of the pad is used to store
* private information.
* - For each pad, data is queued in the chain function or by
* performing a pull_range.
* - When data is queued on all pads, a callback function is
* called.
* - Data can be dequeued from the pad with the _pop() method.
* One can _peek() at the data with the peek function.
* - Data can also be dequeued with the available/read/flush
* calls.
*/
typedef struct _GstCollectPads GstCollectPads;
typedef struct _GstCollectPadsClass GstCollectPadsClass;
......
......@@ -18,6 +18,36 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**
* SECTION:gstcollectpads
* @short_description: manages a set of pads that operate in collect mode
* @see_also:
*
* Manages a set of pads that operate in collect mode. This means that control
* is given to the manager of this object when all pads have data.
* <itemizedlist>
* <listitem><para>
* Pads are added to the collection with add/remove_pad. The pad
* has to be a sinkpad. The chain function of the pad is
* overridden. The element_private of the pad is used to store
* private information.
* </para></listitem>
* <listitem><para>
* For each pad, data is queued in the chain function or by
* performing a pull_range.
* </para></listitem>
* <listitem><para>
* When data is queued on all pads, a callback function is called.
* </para></listitem>
* <listitem><para>
* Data can be dequeued from the pad with the _pop() method.
* One can _peek() at the data with the peek function.
* </para></listitem>
* <listitem><para>
* Data can also be dequeued with the available/read/flush calls.
* </para></listitem>
* </itemizedlist>
*/
#include "gstcollectpads.h"
......
......@@ -33,24 +33,6 @@ G_BEGIN_DECLS
#define GST_IS_COLLECTPADS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_COLLECTPADS))
#define GST_IS_COLLECTPADS_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_COLLECTPADS))
/* manages a set of pads that operate in collect mode. This means
* that control is given to the manager of this object when all
* pads have data.
*
* - pads are added to the collection with add/remove_pad. The pad
* has to be a sinkpad. The chain function of the pad is
* overridden. The element_private of the pad is used to store
* private information.
* - For each pad, data is queued in the chain function or by
* performing a pull_range.
* - When data is queued on all pads, a callback function is
* called.
* - Data can be dequeued from the pad with the _pop() method.
* One can _peek() at the data with the peek function.
* - Data can also be dequeued with the available/read/flush
* calls.
*/
typedef struct _GstCollectPads GstCollectPads;
typedef struct _GstCollectPadsClass GstCollectPadsClass;
......
/*
* gst-controller.c
*
* New dynamic properties
/* GStreamer
*
* Copyright (C) <2005> Stefan Kost <ensonic at users dot sf dot net>
*
* gst-controller.c: dynamic parameter control subsystem
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/* What needs to be done in plugins?
Very little - it is just two steps to make a plugin controllable!
1) Just mark gobject-properties that make sense to be controlled,
by GST_PARAM_CONTROLLABLE for a start.
2) When processing data (get, chain, loop function) at the beginning call
gst_element_sink_values(element,timestamp).
This will made the controller to update all gobject properties that are under
control with the current values based on timestamp.
*/
/* What needs to be done in applications?
1) First put some properties under control, by calling
controller=g_object_control_properties(object, "prop1", "prop2",...);
2) Set how the controller will smooth inbetween values.
gst_controller_set_interpolation_mode(controller,"prop1",mode);
3) Set key values
gst_controller_set(controller,"prop1",0*GST_SECOND,value1);
gst_controller_set(controller,"prop1",1*GST_SECOND,value2);
4) Start your pipeline ;-)
5) Live control params from the GUI
g_object_set_live_value(object, "prop1", timestamp, value);
*/
/**
* SECTION:gstcontroller
* @short_description: dynamic parameter control subsystem
*
* The controller subsystem offers a lighwight way to adjust gobject properties
* over time.
*
* What needs to be changed in a #GstElement?
* Very little - it is just two steps to make a plugin controllable!
* <orderedlist>
* <listitem><para>
* mark gobject-properties paramspecs that make sense to be controlled,
* by GST_PARAM_CONTROLLABLE.
* </para></listitem>
* <listitem><para>
* when processing data (get, chain, loop function) at the beginning call
* gst_object_sink_values(element,timestamp).
* This will made the controller to update all gobject properties that are under
* control with the current values based on timestamp.
* </para></listitem>
* </orderedlist>
*
* What needs to be done in applications?
* Again its not a lot to change.
* <orderedlist>
* <listitem><para>
* first put some properties under control, by calling
* controller=g_object_control_properties(object, "prop1", "prop2",...);
* </para></listitem>
* <listitem><para>
* set how the controller will smooth inbetween values.
* gst_controller_set_interpolation_mode(controller,"prop1",mode);
* </para></listitem>
* <listitem><para>
* set key values
* gst_controller_set(controller,"prop1",0*GST_SECOND,value1);
* gst_controller_set(controller,"prop1",1*GST_SECOND,value2);
* </para></listitem>
* <listitem><para>
* start your pipeline
* </para></listitem>
* </orderedlist>
*/
#include "config.h"
#include "gst-controller.h"
......@@ -419,7 +448,7 @@ gst_controller_new (GObject * object, ...)
}
/**
* gst_controller_remove_properties:
* gst_controller_remove_properties_valist:
* @self: the controller object from which some properties should be removed
* @var_args: %NULL terminated list of property names that should be removed
*
......
/*
* gst-controller.h
*
* New dynamic properties
/* GStreamer
*
* Copyright (C) <2005> Stefan Kost <ensonic at users dot sf dot net>
*
* gst-controller.h: dynamic parameter control subsystem
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef __GST_CONTROLLER_H__
......
/*
* gst-helper.c
*
* GObject convinience methods for using dynamic properties
/* GStreamer