mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-13 11:56:35 +00:00
140 lines
2.7 KiB
Text
140 lines
2.7 KiB
Text
|
<!-- ##### SECTION Title ##### -->
|
||
|
GstAtomic
|
||
|
|
||
|
<!-- ##### SECTION Short_Description ##### -->
|
||
|
Macros that implement atomic operations
|
||
|
|
||
|
<!-- ##### SECTION Long_Description ##### -->
|
||
|
<para>
|
||
|
GstAtomic contains a set of macros that can be used to implement
|
||
|
atomic algorithms that are thread safe and don't use heavyweight
|
||
|
locking mechanisms.
|
||
|
</para>
|
||
|
|
||
|
<!-- ##### SECTION See_Also ##### -->
|
||
|
<para>
|
||
|
#GstMemChunk
|
||
|
</para>
|
||
|
|
||
|
<!-- ##### STRUCT GstAtomicInt ##### -->
|
||
|
<para>
|
||
|
A structure that contains an integer that can be modified
|
||
|
atomically.
|
||
|
</para>
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_INT_INIT ##### -->
|
||
|
<para>
|
||
|
Initialize an atomic int
|
||
|
</para>
|
||
|
|
||
|
@ref: a reference to a #GstAtomicInt
|
||
|
@val: The initial value for the integer
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_INT_FREE ##### -->
|
||
|
<para>
|
||
|
Free the memory allocated by #GST_ATOMIC_INT_INIT
|
||
|
</para>
|
||
|
|
||
|
@ref: A reference to a #GstAtomicInt
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_INT_SET ##### -->
|
||
|
<para>
|
||
|
Set the value of a #GstAtomicInt atomically
|
||
|
</para>
|
||
|
|
||
|
@ref: a reference to a #GstAtomicInt
|
||
|
@val: The value for the integer
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_INT_VALUE ##### -->
|
||
|
<para>
|
||
|
Get the value of a #GstAtomicInt atomically
|
||
|
</para>
|
||
|
|
||
|
@ref: a reference to a #GstAtomicInt
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_INT_READ ##### -->
|
||
|
<para>
|
||
|
Get the value of a #GstAtomicInt atomically into a variable
|
||
|
</para>
|
||
|
|
||
|
@ref: a reference to a #GstAtomicInt
|
||
|
@res: a pointer to a gint to hold the value
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_INT_INC ##### -->
|
||
|
<para>
|
||
|
Increment the value of a #GstAtomicInt atomically
|
||
|
</para>
|
||
|
|
||
|
@ref: a reference to a #GstAtomicInt
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_INT_DEC_AND_TEST ##### -->
|
||
|
<para>
|
||
|
Decrement the value of a #GstAtomicInt atomically and test
|
||
|
for zero.
|
||
|
</para>
|
||
|
|
||
|
@ref: a reference to a #GstAtomicInt
|
||
|
@zero: a gpointer to a gboolean to hold the value of the test
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_INT_ADD ##### -->
|
||
|
<para>
|
||
|
Atomically add a value to a #GstAtomicInt
|
||
|
</para>
|
||
|
|
||
|
@ref: a reference to a #GstAtomicInt
|
||
|
@count: The value to add
|
||
|
|
||
|
|
||
|
<!-- ##### STRUCT GstAtomicSwap ##### -->
|
||
|
<para>
|
||
|
The structure to handle values that can be swapped atomically
|
||
|
</para>
|
||
|
|
||
|
@lock:
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_SWAP_VALUE ##### -->
|
||
|
<para>
|
||
|
Get the value of a #GstAtomicSwap
|
||
|
</para>
|
||
|
|
||
|
@swap: a reference to a #GstAtomicSwap
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_SWAP_INIT ##### -->
|
||
|
<para>
|
||
|
Initialize an atomic swap structure
|
||
|
</para>
|
||
|
|
||
|
@swap: a reference to a #GstAtomicSwap
|
||
|
@val: the initial value
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_SWAP ##### -->
|
||
|
<para>
|
||
|
Atomically swap the value of the #GstAtomicSwap with a new value
|
||
|
</para>
|
||
|
|
||
|
@swap: a reference to a #GstAtomicSwap
|
||
|
@val: the new value
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_ATOMIC_SWAP_GET ##### -->
|
||
|
<para>
|
||
|
Atomically swap the value of the #GstAtomicSwap with a new value and
|
||
|
get the old value.
|
||
|
</para>
|
||
|
|
||
|
@swap: a reference to a #GstAtomicSwap
|
||
|
@val: the new value
|
||
|
@res: the old value
|
||
|
|
||
|
|