mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 01:45:33 +00:00
adding basetransform and iterator docs
Original commit message from CVS: adding basetransform and iterator docs
This commit is contained in:
parent
89683e526e
commit
0b44c713a7
17 changed files with 525 additions and 60 deletions
17
ChangeLog
17
ChangeLog
|
@ -1,3 +1,20 @@
|
|||
2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
|
||||
|
||||
* 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/gstelement.sgml:
|
||||
* docs/gst/tmpl/gstiterator.sgml:
|
||||
* gst/base/gstbasesrc.c:
|
||||
* gst/base/gstbasesrc.h:
|
||||
* gst/base/gstbasetransform.h:
|
||||
* gst/gstelement.c:
|
||||
* gst/gstiterator.h:
|
||||
adding basetransform and iterator docs
|
||||
|
||||
2005-06-27 Andy Wingo <wingo@pobox.com>
|
||||
|
||||
* docs/design/part-activation.txt: Notes on how activation should
|
||||
|
|
|
@ -8,7 +8,9 @@
|
|||
<!ENTITY GstBuffer SYSTEM "xml/gstbuffer.xml">
|
||||
<!ENTITY GstCaps SYSTEM "xml/gstcaps.xml">
|
||||
<!ENTITY GstClock SYSTEM "xml/gstclock.xml">
|
||||
<!--
|
||||
<!ENTITY GstCompat SYSTEM "xml/gstcompat.xml">
|
||||
-->
|
||||
<!ENTITY GstConfig SYSTEM "xml/gstconfig.xml">
|
||||
<!ENTITY GstElement SYSTEM "xml/gstelement.xml">
|
||||
<!ENTITY GstElementDetails SYSTEM "xml/gstelementdetails.xml">
|
||||
|
@ -22,6 +24,7 @@
|
|||
<!ENTITY GstIndex SYSTEM "xml/gstindex.xml">
|
||||
<!ENTITY GstIndexFactory SYSTEM "xml/gstindexfactory.xml">
|
||||
<!ENTITY GstInfo SYSTEM "xml/gstinfo.xml">
|
||||
<!ENTITY GstIterator SYSTEM "xml/gstiterator.xml">
|
||||
<!ENTITY GstMacros SYSTEM "xml/gstmacros.xml">
|
||||
<!ENTITY GstMemChunk SYSTEM "xml/gstmemchunk.xml">
|
||||
<!ENTITY GstObject SYSTEM "xml/gstobject.xml">
|
||||
|
@ -34,7 +37,6 @@
|
|||
<!ENTITY GstProbe SYSTEM "xml/gstprobe.xml">
|
||||
<!ENTITY GstQuery SYSTEM "xml/gstquery.xml">
|
||||
<!ENTITY GstQueue SYSTEM "xml/gstqueue.xml">
|
||||
<!ENTITY GstRealPad SYSTEM "xml/gstrealpad.xml">
|
||||
<!ENTITY GstRegistry SYSTEM "xml/gstregistry.xml">
|
||||
<!ENTITY GstRegistryPool SYSTEM "xml/gstregistrypool.xml">
|
||||
<!ENTITY GstScheduler SYSTEM "xml/gstscheduler.xml">
|
||||
|
@ -57,6 +59,7 @@
|
|||
|
||||
<!ENTITY GstBaseSrc SYSTEM "xml/gstbasesrc.xml">
|
||||
<!ENTITY GstBaseSink SYSTEM "xml/gstbasesink.xml">
|
||||
<!ENTITY GstBaseTransform SYSTEM "xml/gstbasetransform.xml">
|
||||
|
||||
<!ENTITY GstFakeSrc SYSTEM "xml/gstfakesrc.xml">
|
||||
<!ENTITY GstFakeSink SYSTEM "xml/gstfakesink.xml">
|
||||
|
@ -112,6 +115,7 @@
|
|||
&GstIndex;
|
||||
&GstIndexFactory;
|
||||
&GstInfo;
|
||||
&GstIterator;
|
||||
&GstObject;
|
||||
&GstPad;
|
||||
&GstPadTemplate;
|
||||
|
@ -122,7 +126,6 @@
|
|||
&GstProbe;
|
||||
&GstQuery;
|
||||
&GstQueue;
|
||||
&GstRealPad;
|
||||
&GstRegistry;
|
||||
&GstRegistryPool;
|
||||
&GstScheduler;
|
||||
|
@ -154,6 +157,7 @@
|
|||
|
||||
</chapter>
|
||||
|
||||
<!--
|
||||
<chapter id="gstreamer-compat">
|
||||
<title>GStreamer Core Compatibility</title>
|
||||
<para>
|
||||
|
@ -164,6 +168,7 @@
|
|||
&GstCompat;
|
||||
|
||||
</chapter>
|
||||
-->
|
||||
|
||||
<chapter id="element-types">
|
||||
<title>GStreamer Core Elements</title>
|
||||
|
@ -204,6 +209,7 @@
|
|||
|
||||
&GstBaseSrc;
|
||||
&GstBaseSink;
|
||||
&GstBaseTransform;
|
||||
|
||||
</chapter>
|
||||
|
||||
|
|
|
@ -323,6 +323,7 @@ gst_element_get_state
|
|||
gst_element_set_state
|
||||
gst_element_state_get_name
|
||||
gst_element_get_factory
|
||||
gst_element_get_manager
|
||||
gst_element_no_more_pads
|
||||
<SUBSECTION Standard>
|
||||
GST_ELEMENT
|
||||
|
@ -699,6 +700,43 @@ GST_TYPE_IMPLEMENTS_INTERFACE
|
|||
gst_implements_interface_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gstiterator</FILE>
|
||||
<TITLE>GstIterator</TITLE>
|
||||
GstIterator
|
||||
|
||||
GstIteratorItem
|
||||
GstIteratorResult
|
||||
|
||||
GstIteratorDisposeFunction
|
||||
GstIteratorNextFunction
|
||||
GstIteratorItemFunction
|
||||
GstIteratorResyncFunction
|
||||
GstIteratorFreeFunction
|
||||
GstIteratorFoldFunction
|
||||
|
||||
GST_ITERATOR
|
||||
GST_ITERATOR_LOCK
|
||||
GST_ITERATOR_COOKIE
|
||||
GST_ITERATOR_ORIG_COOKIE
|
||||
|
||||
gst_iterator_new
|
||||
gst_iterator_new_list
|
||||
|
||||
gst_iterator_next
|
||||
gst_iterator_resync
|
||||
gst_iterator_free
|
||||
gst_iterator_push
|
||||
gst_iterator_filter
|
||||
gst_iterator_fold
|
||||
gst_iterator_foreach
|
||||
gst_iterator_find_custom
|
||||
|
||||
|
||||
<SUBSECTION Standard>
|
||||
<SUBSECTION Private>
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gstmacros</FILE>
|
||||
<TITLE>GstMacros</TITLE>
|
||||
|
@ -1693,12 +1731,19 @@ gst_filesink_get_type
|
|||
<TITLE>GstBaseSrc</TITLE>
|
||||
GstBaseSrc
|
||||
GstBaseSrcClass
|
||||
GstBaseSrcFlags
|
||||
|
||||
gst_basesrc_is_live
|
||||
gst_basesrc_set_live
|
||||
|
||||
GST_BASESRC_PAD
|
||||
<SUBSECTION Standard>
|
||||
GST_BASESRC
|
||||
GST_IS_BASESRC
|
||||
GST_TYPE_BASESRC
|
||||
GST_BASESRC_CLASS
|
||||
GST_IS_BASESRC_CLASS
|
||||
GST_BASESRC_GET_CLASS
|
||||
<SUBSECTION Private>
|
||||
gst_basesrc_get_type
|
||||
</SECTION>
|
||||
|
@ -1708,6 +1753,10 @@ gst_basesrc_get_type
|
|||
<FILE>gstbasesink</FILE>
|
||||
<TITLE>GstBaseSink</TITLE>
|
||||
GstBaseSink
|
||||
GstBaseSinkClass
|
||||
|
||||
GST_BASESINK_CLOCK
|
||||
GST_BASESINK_PAD
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GstBaseSinkClass
|
||||
|
@ -1720,3 +1769,19 @@ GST_BASESINK_GET_CLASS
|
|||
<SUBSECTION Private>
|
||||
gst_basesink_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gstbasetransform</FILE>
|
||||
<TITLE>GstBaseTransform</TITLE>
|
||||
GstBaseTransform
|
||||
GstBaseTransformClass
|
||||
<SUBSECTION Standard>
|
||||
GST_BASETRANSFORM
|
||||
GST_IS_BASETRANSFORM
|
||||
GST_TYPE_BASETRANSFORM
|
||||
GST_BASETRANSFORM_CLASS
|
||||
GST_IS_BASETRANSFORM_CLASS
|
||||
GST_BASETRANSFORM_GET_CLASS
|
||||
<SUBSECTION Private>
|
||||
gst_basetransform_get_type
|
||||
</SECTION>
|
||||
|
|
|
@ -33,9 +33,11 @@ gst_xml_get_type
|
|||
|
||||
#include <gst/base/gstbasesrc.h>
|
||||
#include <gst/base/gstbasesink.h>
|
||||
#include <gst/base/gstbasetransform.h>
|
||||
|
||||
gst_basesrc_get_type
|
||||
gst_basesink_get_type
|
||||
gst_base_transform_get_type
|
||||
|
||||
% elements
|
||||
|
||||
|
|
|
@ -35,3 +35,34 @@ GstBaseSink
|
|||
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstBaseSinkClass ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@parent_class:
|
||||
@get_caps:
|
||||
@set_caps:
|
||||
@buffer_alloc:
|
||||
@get_times:
|
||||
@unlock:
|
||||
@event:
|
||||
@preroll:
|
||||
@render:
|
||||
|
||||
<!-- ##### MACRO GST_BASESINK_CLOCK ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@obj:
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BASESINK_PAD ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@obj:
|
||||
|
||||
|
||||
|
|
|
@ -68,3 +68,37 @@ GstBaseSrc
|
|||
@event:
|
||||
@create:
|
||||
|
||||
<!-- ##### ENUM GstBaseSrcFlags ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_BASESRC_STARTED:
|
||||
@GST_BASESRC_FLAG_LAST:
|
||||
|
||||
<!-- ##### FUNCTION gst_basesrc_is_live ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_basesrc_set_live ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@live:
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BASESRC_PAD ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@obj:
|
||||
|
||||
|
||||
|
|
34
docs/gst/tmpl/gstbasetransform.sgml
Normal file
34
docs/gst/tmpl/gstbasetransform.sgml
Normal file
|
@ -0,0 +1,34 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstBaseTransform
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstBaseTransform ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### STRUCT GstBaseTransformClass ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@parent_class:
|
||||
@set_caps:
|
||||
@start:
|
||||
@stop:
|
||||
@event:
|
||||
@transform:
|
||||
|
|
@ -711,6 +711,15 @@ Sets the parent of an element.
|
|||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_get_manager ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_no_more_pads ##### -->
|
||||
<para>
|
||||
|
||||
|
|
245
docs/gst/tmpl/gstiterator.sgml
Normal file
245
docs/gst/tmpl/gstiterator.sgml
Normal file
|
@ -0,0 +1,245 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstIterator
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstIterator ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@next:
|
||||
@item:
|
||||
@resync:
|
||||
@free:
|
||||
@pushed:
|
||||
@lock:
|
||||
@cookie:
|
||||
@master_cookie:
|
||||
|
||||
<!-- ##### ENUM GstIteratorItem ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_ITERATOR_ITEM_SKIP:
|
||||
@GST_ITERATOR_ITEM_PASS:
|
||||
@GST_ITERATOR_ITEM_END:
|
||||
|
||||
<!-- ##### ENUM GstIteratorResult ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_ITERATOR_DONE:
|
||||
@GST_ITERATOR_OK:
|
||||
@GST_ITERATOR_RESYNC:
|
||||
@GST_ITERATOR_ERROR:
|
||||
|
||||
<!-- ##### USER_FUNCTION GstIteratorDisposeFunction ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@owner:
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstIteratorNextFunction ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
@result:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstIteratorItemFunction ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
@item:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstIteratorResyncFunction ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstIteratorFreeFunction ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstIteratorFoldFunction ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@item:
|
||||
@ret:
|
||||
@user_data:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ITERATOR ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ITERATOR_LOCK ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ITERATOR_COOKIE ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ITERATOR_ORIG_COOKIE ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_iterator_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@size:
|
||||
@lock:
|
||||
@master_cookie:
|
||||
@next:
|
||||
@item:
|
||||
@resync:
|
||||
@free:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_iterator_new_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@lock:
|
||||
@master_cookie:
|
||||
@list:
|
||||
@owner:
|
||||
@item:
|
||||
@free:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_iterator_next ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
@result:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_iterator_resync ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_iterator_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_iterator_push ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
@other:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_iterator_filter ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
@func:
|
||||
@user_data:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_iterator_fold ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@iter:
|
||||
@func:
|
||||
@ret:
|
||||
@user_data:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_iterator_foreach ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@iter:
|
||||
@func:
|
||||
@user_data:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_iterator_find_custom ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@it:
|
||||
@func:
|
||||
@user_data:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
|
||||
* 2000,2005 Wim Taymans <wim@fluendo.com>
|
||||
*
|
||||
* gstbasesrc.c:
|
||||
* gstbasesrc.c:
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
|
|
|
@ -28,12 +28,12 @@
|
|||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GST_TYPE_BASESRC (gst_basesrc_get_type())
|
||||
#define GST_BASESRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASESRC,GstBaseSrc))
|
||||
#define GST_BASESRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASESRC,GstBaseSrcClass))
|
||||
#define GST_TYPE_BASESRC (gst_basesrc_get_type())
|
||||
#define GST_BASESRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASESRC,GstBaseSrc))
|
||||
#define GST_BASESRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASESRC,GstBaseSrcClass))
|
||||
#define GST_BASESRC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASESRC, GstBaseSrcClass))
|
||||
#define GST_IS_BASESRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASESRC))
|
||||
#define GST_IS_BASESRC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASESRC))
|
||||
#define GST_IS_BASESRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASESRC))
|
||||
#define GST_IS_BASESRC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASESRC))
|
||||
|
||||
typedef enum {
|
||||
GST_BASESRC_STARTED = GST_ELEMENT_FLAG_LAST,
|
||||
|
@ -52,7 +52,7 @@ typedef enum {
|
|||
typedef struct _GstBaseSrc GstBaseSrc;
|
||||
typedef struct _GstBaseSrcClass GstBaseSrcClass;
|
||||
|
||||
#define GST_BASESRC_PAD(obj) (GST_BASESRC (obj)->srcpad)
|
||||
#define GST_BASESRC_PAD(obj) (GST_BASESRC (obj)->srcpad)
|
||||
|
||||
#define GST_LIVE_GET_LOCK(elem) (GST_BASESRC(elem)->live_lock)
|
||||
#define GST_LIVE_LOCK(elem) g_mutex_lock(GST_LIVE_GET_LOCK(elem))
|
||||
|
@ -70,7 +70,8 @@ struct _GstBaseSrc {
|
|||
GstElement element;
|
||||
GstPad *srcpad;
|
||||
|
||||
/* only for subclass implementations */
|
||||
/*< public >*/
|
||||
/* available to subclass implementations */
|
||||
/* MT-protected (with LIVE_LOCK) */
|
||||
GMutex *live_lock;
|
||||
GCond *live_cond;
|
||||
|
@ -105,6 +106,8 @@ struct _GstBaseSrcClass {
|
|||
GstElementClass parent_class;
|
||||
|
||||
/*< public >*/
|
||||
/* virtual methods for subclasses */
|
||||
|
||||
/* get caps from subclass */
|
||||
GstCaps* (*get_caps) (GstBaseSrc *src);
|
||||
/* notify the subclass of new caps */
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
|
||||
* 2005 Wim Taymans <wim@fluendo.com>
|
||||
*
|
||||
* gstbasetransform.h:
|
||||
* gstbasetransform.h:
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
|
@ -28,12 +28,12 @@
|
|||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GST_TYPE_BASE_TRANSFORM (gst_base_transform_get_type())
|
||||
#define GST_BASE_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransform))
|
||||
#define GST_TYPE_BASE_TRANSFORM (gst_base_transform_get_type())
|
||||
#define GST_BASE_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransform))
|
||||
#define GST_BASE_TRANSFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_TRANSFORM,GstBaseTransformClass))
|
||||
#define GST_BASE_TRANSFORM_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransformClass))
|
||||
#define GST_IS_BASE_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_TRANSFORM))
|
||||
#define GST_IS_BASE_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_TRANSFORM))
|
||||
#define GST_IS_BASE_TRANSFORM_CLASS(obj)(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_TRANSFORM))
|
||||
|
||||
/* the names of the templates for the sink and source pads */
|
||||
|
@ -44,26 +44,34 @@ typedef struct _GstBaseTransform GstBaseTransform;
|
|||
typedef struct _GstBaseTransformClass GstBaseTransformClass;
|
||||
|
||||
struct _GstBaseTransform {
|
||||
GstElement element;
|
||||
GstElement element;
|
||||
|
||||
/* source and sink pads */
|
||||
GstPad *sinkpad;
|
||||
GstPad *srcpad;
|
||||
GstPad *sinkpad;
|
||||
GstPad *srcpad;
|
||||
};
|
||||
|
||||
struct _GstBaseTransformClass {
|
||||
GstElementClass parent_class;
|
||||
|
||||
/*< public >*/
|
||||
/* virtual methods for subclasses */
|
||||
|
||||
|
||||
/* notify the subclass of new caps */
|
||||
gboolean (*set_caps) (GstBaseTransform *trans, GstCaps *caps);
|
||||
|
||||
/* start and stop processing, ideal for opening/closing the resource */
|
||||
gboolean (*start) (GstBaseTransform *trans);
|
||||
gboolean (*stop) (GstBaseTransform *trans);
|
||||
|
||||
gboolean (*event) (GstBaseTransform *trans, GstEvent *event);
|
||||
|
||||
/* transform one incoming buffer to one outgoing buffer */
|
||||
GstFlowReturn (*transform) (GstBaseTransform *trans, GstBuffer *inbuf, GstBuffer **outbuf);
|
||||
};
|
||||
|
||||
GType gst_base_transform_get_type(void);
|
||||
GType gst_base_transform_get_type (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
|
|
@ -2230,7 +2230,7 @@ gst_element_set_manager (GstElement * element, GstPipeline * manager)
|
|||
* gst_element_get_manager:
|
||||
* @element: a #GstElement to get the manager of.
|
||||
*
|
||||
* Returns the manager of the element.
|
||||
* Returns the manager of the element.
|
||||
*
|
||||
* Returns: the element's #GstPipeline. unref after usage.
|
||||
*
|
||||
|
|
|
@ -28,18 +28,18 @@
|
|||
G_BEGIN_DECLS
|
||||
|
||||
typedef enum {
|
||||
GST_ITERATOR_DONE = 0, /* no more items in the iterator */
|
||||
GST_ITERATOR_OK = 1, /* item retrieved */
|
||||
GST_ITERATOR_RESYNC = 2, /* datastructures changed while iterating */
|
||||
GST_ITERATOR_ERROR = 3, /* some error happened */
|
||||
GST_ITERATOR_DONE = 0, /* no more items in the iterator */
|
||||
GST_ITERATOR_OK = 1, /* item retrieved */
|
||||
GST_ITERATOR_RESYNC = 2, /* datastructures changed while iterating */
|
||||
GST_ITERATOR_ERROR = 3, /* some error happened */
|
||||
} GstIteratorResult;
|
||||
|
||||
typedef struct _GstIterator GstIterator;
|
||||
|
||||
typedef enum {
|
||||
GST_ITERATOR_ITEM_SKIP = 0, /* skip item */
|
||||
GST_ITERATOR_ITEM_PASS = 1, /* return item */
|
||||
GST_ITERATOR_ITEM_END = 2, /* stop after this item */
|
||||
GST_ITERATOR_ITEM_SKIP = 0, /* skip item */
|
||||
GST_ITERATOR_ITEM_PASS = 1, /* return item */
|
||||
GST_ITERATOR_ITEM_END = 2, /* stop after this item */
|
||||
} GstIteratorItem;
|
||||
|
||||
typedef void (*GstIteratorDisposeFunction) (gpointer owner);
|
||||
|
@ -51,10 +51,10 @@ typedef void (*GstIteratorFreeFunction) (GstIterator *it);
|
|||
|
||||
typedef gboolean (*GstIteratorFoldFunction) (gpointer item, GValue *ret, gpointer user_data);
|
||||
|
||||
#define GST_ITERATOR(it) ((GstIterator*)(it))
|
||||
#define GST_ITERATOR_LOCK(it) (GST_ITERATOR(it)->lock)
|
||||
#define GST_ITERATOR_COOKIE(it) (GST_ITERATOR(it)->cookie)
|
||||
#define GST_ITERATOR_ORIG_COOKIE(it) (GST_ITERATOR(it)->master_cookie)
|
||||
#define GST_ITERATOR(it) ((GstIterator*)(it))
|
||||
#define GST_ITERATOR_LOCK(it) (GST_ITERATOR(it)->lock)
|
||||
#define GST_ITERATOR_COOKIE(it) (GST_ITERATOR(it)->cookie)
|
||||
#define GST_ITERATOR_ORIG_COOKIE(it) (GST_ITERATOR(it)->master_cookie)
|
||||
|
||||
struct _GstIterator {
|
||||
GstIteratorNextFunction next;
|
||||
|
@ -64,27 +64,27 @@ struct _GstIterator {
|
|||
|
||||
GstIterator *pushed; /* pushed iterator */
|
||||
|
||||
GMutex *lock;
|
||||
GMutex *lock;
|
||||
guint32 cookie; /* cookie of the iterator */
|
||||
guint32 *master_cookie; /* pointer to guint32 holding the cookie when this
|
||||
iterator was created */
|
||||
};
|
||||
|
||||
/* creating iterators */
|
||||
GstIterator* gst_iterator_new (guint size,
|
||||
GMutex *lock,
|
||||
guint32 *master_cookie,
|
||||
GstIteratorNextFunction next,
|
||||
GstIteratorItemFunction item,
|
||||
GstIteratorResyncFunction resync,
|
||||
GstIteratorFreeFunction free);
|
||||
|
||||
GstIterator* gst_iterator_new_list (GMutex *lock,
|
||||
/* creating iterators */
|
||||
GstIterator* gst_iterator_new (guint size,
|
||||
GMutex *lock,
|
||||
guint32 *master_cookie,
|
||||
GstIteratorNextFunction next,
|
||||
GstIteratorItemFunction item,
|
||||
GstIteratorResyncFunction resync,
|
||||
GstIteratorFreeFunction free);
|
||||
|
||||
GstIterator* gst_iterator_new_list (GMutex *lock,
|
||||
guint32 *master_cookie,
|
||||
GList **list,
|
||||
gpointer owner,
|
||||
GstIteratorItemFunction item,
|
||||
GstIteratorDisposeFunction free);
|
||||
GstIteratorItemFunction item,
|
||||
GstIteratorDisposeFunction free);
|
||||
|
||||
/* using iterators */
|
||||
GstIteratorResult gst_iterator_next (GstIterator *it, gpointer *result);
|
||||
|
@ -101,7 +101,7 @@ GstIteratorResult gst_iterator_fold (GstIterator *iter,
|
|||
GValue *ret, gpointer user_data);
|
||||
GstIteratorResult gst_iterator_foreach (GstIterator *iter,
|
||||
GFunc func, gpointer user_data);
|
||||
gpointer gst_iterator_find_custom (GstIterator *it, GCompareFunc func,
|
||||
gpointer gst_iterator_find_custom (GstIterator *it, GCompareFunc func,
|
||||
gpointer user_data);
|
||||
|
||||
G_END_DECLS
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
|
||||
* 2000,2005 Wim Taymans <wim@fluendo.com>
|
||||
*
|
||||
* gstbasesrc.c:
|
||||
* gstbasesrc.c:
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
|
|
|
@ -28,12 +28,12 @@
|
|||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GST_TYPE_BASESRC (gst_basesrc_get_type())
|
||||
#define GST_BASESRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASESRC,GstBaseSrc))
|
||||
#define GST_BASESRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASESRC,GstBaseSrcClass))
|
||||
#define GST_TYPE_BASESRC (gst_basesrc_get_type())
|
||||
#define GST_BASESRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASESRC,GstBaseSrc))
|
||||
#define GST_BASESRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASESRC,GstBaseSrcClass))
|
||||
#define GST_BASESRC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASESRC, GstBaseSrcClass))
|
||||
#define GST_IS_BASESRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASESRC))
|
||||
#define GST_IS_BASESRC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASESRC))
|
||||
#define GST_IS_BASESRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASESRC))
|
||||
#define GST_IS_BASESRC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASESRC))
|
||||
|
||||
typedef enum {
|
||||
GST_BASESRC_STARTED = GST_ELEMENT_FLAG_LAST,
|
||||
|
@ -52,7 +52,7 @@ typedef enum {
|
|||
typedef struct _GstBaseSrc GstBaseSrc;
|
||||
typedef struct _GstBaseSrcClass GstBaseSrcClass;
|
||||
|
||||
#define GST_BASESRC_PAD(obj) (GST_BASESRC (obj)->srcpad)
|
||||
#define GST_BASESRC_PAD(obj) (GST_BASESRC (obj)->srcpad)
|
||||
|
||||
#define GST_LIVE_GET_LOCK(elem) (GST_BASESRC(elem)->live_lock)
|
||||
#define GST_LIVE_LOCK(elem) g_mutex_lock(GST_LIVE_GET_LOCK(elem))
|
||||
|
@ -70,7 +70,8 @@ struct _GstBaseSrc {
|
|||
GstElement element;
|
||||
GstPad *srcpad;
|
||||
|
||||
/* only for subclass implementations */
|
||||
/*< public >*/
|
||||
/* available to subclass implementations */
|
||||
/* MT-protected (with LIVE_LOCK) */
|
||||
GMutex *live_lock;
|
||||
GCond *live_cond;
|
||||
|
@ -105,6 +106,8 @@ struct _GstBaseSrcClass {
|
|||
GstElementClass parent_class;
|
||||
|
||||
/*< public >*/
|
||||
/* virtual methods for subclasses */
|
||||
|
||||
/* get caps from subclass */
|
||||
GstCaps* (*get_caps) (GstBaseSrc *src);
|
||||
/* notify the subclass of new caps */
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
|
||||
* 2005 Wim Taymans <wim@fluendo.com>
|
||||
*
|
||||
* gstbasetransform.h:
|
||||
* gstbasetransform.h:
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
|
@ -28,12 +28,12 @@
|
|||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GST_TYPE_BASE_TRANSFORM (gst_base_transform_get_type())
|
||||
#define GST_BASE_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransform))
|
||||
#define GST_TYPE_BASE_TRANSFORM (gst_base_transform_get_type())
|
||||
#define GST_BASE_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransform))
|
||||
#define GST_BASE_TRANSFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_TRANSFORM,GstBaseTransformClass))
|
||||
#define GST_BASE_TRANSFORM_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransformClass))
|
||||
#define GST_IS_BASE_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_TRANSFORM))
|
||||
#define GST_IS_BASE_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_TRANSFORM))
|
||||
#define GST_IS_BASE_TRANSFORM_CLASS(obj)(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_TRANSFORM))
|
||||
|
||||
/* the names of the templates for the sink and source pads */
|
||||
|
@ -44,26 +44,34 @@ typedef struct _GstBaseTransform GstBaseTransform;
|
|||
typedef struct _GstBaseTransformClass GstBaseTransformClass;
|
||||
|
||||
struct _GstBaseTransform {
|
||||
GstElement element;
|
||||
GstElement element;
|
||||
|
||||
/* source and sink pads */
|
||||
GstPad *sinkpad;
|
||||
GstPad *srcpad;
|
||||
GstPad *sinkpad;
|
||||
GstPad *srcpad;
|
||||
};
|
||||
|
||||
struct _GstBaseTransformClass {
|
||||
GstElementClass parent_class;
|
||||
|
||||
/*< public >*/
|
||||
/* virtual methods for subclasses */
|
||||
|
||||
|
||||
/* notify the subclass of new caps */
|
||||
gboolean (*set_caps) (GstBaseTransform *trans, GstCaps *caps);
|
||||
|
||||
/* start and stop processing, ideal for opening/closing the resource */
|
||||
gboolean (*start) (GstBaseTransform *trans);
|
||||
gboolean (*stop) (GstBaseTransform *trans);
|
||||
|
||||
gboolean (*event) (GstBaseTransform *trans, GstEvent *event);
|
||||
|
||||
/* transform one incoming buffer to one outgoing buffer */
|
||||
GstFlowReturn (*transform) (GstBaseTransform *trans, GstBuffer *inbuf, GstBuffer **outbuf);
|
||||
};
|
||||
|
||||
GType gst_base_transform_get_type(void);
|
||||
GType gst_base_transform_get_type (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
|
Loading…
Reference in a new issue