gstreamer/docs/gst/tmpl/gstatomic.sgml
David Schleef 1e4ad29e52 docs/gst/gstreamer-docs.sgml: I got tired of the reference manual being such complete crap, that I decided to do majo...
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:  I got tired of the reference
manual being such complete crap, that I decided to do major
hacking of it.  This checkin replaces any fine tuning that
may have been done previously, with the benefit of actually
being complete for much of the API that was changed since
0.6.  Further fine tuning will occur shortly.  (bug #134721)
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/GstBin.sgml:
* docs/gst/tmpl/GstBuffer.sgml:
* docs/gst/tmpl/GstCaps.sgml:
* docs/gst/tmpl/GstClock.sgml:
* docs/gst/tmpl/GstCompat.sgml:
* docs/gst/tmpl/GstData.sgml:
* docs/gst/tmpl/GstElement.sgml:
* docs/gst/tmpl/GstEvent.sgml:
* docs/gst/tmpl/GstIndex.sgml:
* docs/gst/tmpl/GstStructure.sgml:
* docs/gst/tmpl/GstTag.sgml:
* docs/gst/tmpl/cothreads.sgml:
* docs/gst/tmpl/cothreads_compat.sgml:
* docs/gst/tmpl/gettext.sgml:
* docs/gst/tmpl/grammar.tab.sgml:
* docs/gst/tmpl/gst-i18n-app.sgml:
* docs/gst/tmpl/gst-i18n-lib.sgml:
* docs/gst/tmpl/gst.sgml:
* docs/gst/tmpl/gst_private.sgml:
* docs/gst/tmpl/gstaggregator.sgml:
* docs/gst/tmpl/gstarch.sgml:
* docs/gst/tmpl/gstatomic.sgml:
* docs/gst/tmpl/gstatomic_impl.sgml:
* docs/gst/tmpl/gstbin.sgml:
* docs/gst/tmpl/gstbuffer.sgml:
* docs/gst/tmpl/gstbufferstore.sgml:
* docs/gst/tmpl/gstcaps.sgml:
* docs/gst/tmpl/gstclock.sgml:
* docs/gst/tmpl/gstcompat.sgml:
* docs/gst/tmpl/gstconfig.sgml:
* docs/gst/tmpl/gstcpu.sgml:
* docs/gst/tmpl/gstdata.sgml:
* docs/gst/tmpl/gstdata_private.sgml:
* docs/gst/tmpl/gstelement.sgml:
* docs/gst/tmpl/gstenumtypes.sgml:
* docs/gst/tmpl/gsterror.sgml:
* docs/gst/tmpl/gstevent.sgml:
* docs/gst/tmpl/gstfakesink.sgml:
* docs/gst/tmpl/gstfakesrc.sgml:
* docs/gst/tmpl/gstfilesink.sgml:
* docs/gst/tmpl/gstfilter.sgml:
* docs/gst/tmpl/gstindex.sgml:
* docs/gst/tmpl/gstinfo.sgml:
* docs/gst/tmpl/gstinterface.sgml:
* docs/gst/tmpl/gstlog.sgml:
* docs/gst/tmpl/gstmacros.sgml:
* docs/gst/tmpl/gstmarshal.sgml:
* docs/gst/tmpl/gstmd5sink.sgml:
* docs/gst/tmpl/gstmultifilesrc.sgml:
* docs/gst/tmpl/gstobject.sgml:
* docs/gst/tmpl/gstpad.sgml:
* docs/gst/tmpl/gstparse.sgml:
* docs/gst/tmpl/gstpipeline.sgml:
* docs/gst/tmpl/gstplugin.sgml:
* docs/gst/tmpl/gstpluginfeature.sgml:
* docs/gst/tmpl/gstqueue.sgml:
* docs/gst/tmpl/gstreamer-unused.sgml:
* docs/gst/tmpl/gstregistry.sgml:
* docs/gst/tmpl/gstregistrypool.sgml:
* docs/gst/tmpl/gstscheduler.sgml:
* docs/gst/tmpl/gstsearchfuncs.sgml:
* docs/gst/tmpl/gstshaper.sgml:
* docs/gst/tmpl/gstspider.sgml:
* docs/gst/tmpl/gstspideridentity.sgml:
* docs/gst/tmpl/gststructure.sgml:
* docs/gst/tmpl/gstsystemclock.sgml:
* docs/gst/tmpl/gsttag.sgml:
* docs/gst/tmpl/gsttaginterface.sgml:
* docs/gst/tmpl/gsttee.sgml:
* docs/gst/tmpl/gstthread.sgml:
* docs/gst/tmpl/gsttrace.sgml:
* docs/gst/tmpl/gsttrashstack.sgml:
* docs/gst/tmpl/gsttypefind.sgml:
* docs/gst/tmpl/gsttypes.sgml:
* docs/gst/tmpl/gsturi.sgml:
* docs/gst/tmpl/gsturitype.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/gst/tmpl/gstvalue.sgml:
* docs/gst/tmpl/gstversion.sgml:
* docs/gst/tmpl/gstxml.sgml:
* docs/gst/tmpl/gstxmlregistry.sgml:
* docs/gst/tmpl/gthread-cothreads.sgml:
* docs/gst/tmpl/types.sgml:
2004-03-25 04:20:33 +00:00

100 lines
2 KiB
Plaintext

<!-- ##### SECTION Title ##### -->
GstAtomic
<!-- ##### SECTION Short_Description ##### -->
Functions that implement atomic operations.
<!-- ##### SECTION Long_Description ##### -->
<para>
Functions that implement atomic operations on a #GstAtomicInt structure.
Atomic operations are thread safe and don't use heavyweight locking mechanisms.
</para>
<para>
These functions will be inlined in the GStreamer core but are available to plugins
as external methods.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GstMemChunk
</para>
<!-- ##### TYPEDEF gst_vgint ##### -->
<para>
</para>
<!-- ##### STRUCT GstAtomicInt ##### -->
<para>
A structure that contains an integer that can be modified
atomically.
</para>
@counter:
@lock:
<!-- ##### FUNCTION gst_atomic_int_init ##### -->
<para>
Initialize an allocated #GstAtomicInt with a value. Call this method
only once as it will allocate a mutex in the C-fallback case.
</para>
@aint: a #GstAtomicInt
@val: a new value
<!-- ##### FUNCTION gst_atomic_int_destroy ##### -->
<para>
Destroy a #GstAtomicInt. Call this method only once as it will
free the mutex in the C-fallback case.
</para>
@aint: a #GstAtomicInt
<!-- ##### FUNCTION gst_atomic_int_set ##### -->
<para>
Atomically set the value on the #GstAtomicInt.
</para>
@aint: a #GstAtomicInt
@val: The new value
<!-- ##### FUNCTION gst_atomic_int_read ##### -->
<para>
Atomically read the contents of a #GstAtomicInt
</para>
@aint: a #GstAtomicInt
@Returns: the value of the atomic int
<!-- ##### FUNCTION gst_atomic_int_add ##### -->
<para>
Atomically add the given value to the #GstAtomicInt.
</para>
@aint: a #GstAtomicInt
@val: the value to add
<!-- ##### FUNCTION gst_atomic_int_inc ##### -->
<para>
Atomically increment the #GstAtomicInt
</para>
@aint: a #GstAtomicInt
<!-- ##### FUNCTION gst_atomic_int_dec_and_test ##### -->
<para>
Atomically decrement the #GstAtomicInt and test if it is zero.
</para>
@aint: a #GstAtomicInt
@Returns: TRUE if the atomic int is 0