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