| Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.Gst.Structs.Iterator
Contents
Description
A GstIterator is used to retrieve multiple objects from another object in a threadsafe way.
Various GStreamer objects provide access to their internal structures using an iterator.
Note that if calling a GstIterator function results in your code receiving a refcounted object (with, say, g_value_get_object()), the refcount for that object will not be increased. Your code is responsible for taking a reference if it wants to continue using it later.
The basic use pattern of an iterator is as follows: |[ GstIterator *it = _get_iterator(object); GValue item = G_VALUE_INIT; done = FALSE; while (!done) { switch (gst_iterator_next (it, &item)) { case GST_ITERATOR_OK: ...getusechange item here... g_value_reset (&item); break; case GST_ITERATOR_RESYNC: ...rollback changes to items... gst_iterator_resync (it); break; case GST_ITERATOR_ERROR: ...wrong parameters were given... done = TRUE; break; case GST_ITERATOR_DONE: done = TRUE; break; } } g_value_unset (&item); gst_iterator_free (it); ]|
- newtype Iterator = Iterator (ForeignPtr Iterator)
- newZeroIterator :: MonadIO m => m Iterator
- noIterator :: Maybe Iterator
- data IteratorCopyMethodInfo
- iteratorCopy :: MonadIO m => Iterator -> m Iterator
- data IteratorFilterMethodInfo
- iteratorFilter :: MonadIO m => Iterator -> CompareFunc -> GValue -> m Iterator
- data IteratorFindCustomMethodInfo
- iteratorFindCustom :: MonadIO m => Iterator -> CompareFunc -> m (Bool, GValue)
- data IteratorFoldMethodInfo
- iteratorFold :: MonadIO m => Iterator -> IteratorFoldFunction -> GValue -> m IteratorResult
- data IteratorForeachMethodInfo
- iteratorForeach :: MonadIO m => Iterator -> IteratorForeachFunction -> m IteratorResult
- data IteratorFreeMethodInfo
- iteratorFree :: MonadIO m => Iterator -> m ()
- iteratorNewSingle :: MonadIO m => GType -> GValue -> m Iterator
- data IteratorNextMethodInfo
- iteratorNext :: MonadIO m => Iterator -> m (IteratorResult, GValue)
- data IteratorPushMethodInfo
- iteratorPush :: MonadIO m => Iterator -> Iterator -> m ()
- data IteratorResyncMethodInfo
- iteratorResync :: MonadIO m => Iterator -> m ()
- iteratorCookie :: AttrLabelProxy "cookie"
- iteratorReadCookie :: MonadIO m => Iterator -> m Word32
- iteratorWriteCookie :: MonadIO m => Iterator -> Word32 -> m ()
- iteratorClearLock :: MonadIO m => Iterator -> m ()
- iteratorLock :: AttrLabelProxy "lock"
- iteratorReadLock :: MonadIO m => Iterator -> m (Maybe Mutex)
- iteratorWriteLock :: MonadIO m => Iterator -> Ptr Mutex -> m ()
- iteratorMasterCookie :: AttrLabelProxy "masterCookie"
- iteratorReadMasterCookie :: MonadIO m => Iterator -> m Word32
- iteratorWriteMasterCookie :: MonadIO m => Iterator -> Word32 -> m ()
- iteratorClearPushed :: MonadIO m => Iterator -> m ()
- iteratorPushed :: AttrLabelProxy "pushed"
- iteratorReadPushed :: MonadIO m => Iterator -> m (Maybe Iterator)
- iteratorWritePushed :: MonadIO m => Iterator -> Ptr Iterator -> m ()
- iteratorReadSize :: MonadIO m => Iterator -> m Word32
- iteratorSize :: AttrLabelProxy "size"
- iteratorWriteSize :: MonadIO m => Iterator -> Word32 -> m ()
- iteratorReadType :: MonadIO m => Iterator -> m GType
- iteratorType :: AttrLabelProxy "type"
- iteratorWriteType :: MonadIO m => Iterator -> GType -> m ()
Exported types
Constructors
| Iterator (ForeignPtr Iterator) |
Instances
newZeroIterator :: MonadIO m => m Iterator Source
Construct a Iterator struct initialized to zero.
Methods
iteratorCopy
data IteratorCopyMethodInfo Source
Instances
| ((~) * signature (m Iterator), MonadIO m) => MethodInfo * IteratorCopyMethodInfo Iterator signature Source |
iteratorCopy :: MonadIO m => Iterator -> m Iterator Source
iteratorFilter
data IteratorFilterMethodInfo Source
Instances
| ((~) * signature (CompareFunc -> GValue -> m Iterator), MonadIO m) => MethodInfo * IteratorFilterMethodInfo Iterator signature Source |
iteratorFilter :: MonadIO m => Iterator -> CompareFunc -> GValue -> m Iterator Source
iteratorFindCustom
data IteratorFindCustomMethodInfo Source
Instances
| ((~) * signature (CompareFunc -> m (Bool, GValue)), MonadIO m) => MethodInfo * IteratorFindCustomMethodInfo Iterator signature Source |
iteratorFindCustom :: MonadIO m => Iterator -> CompareFunc -> m (Bool, GValue) Source
iteratorFold
data IteratorFoldMethodInfo Source
Instances
| ((~) * signature (IteratorFoldFunction -> GValue -> m IteratorResult), MonadIO m) => MethodInfo * IteratorFoldMethodInfo Iterator signature Source |
iteratorFold :: MonadIO m => Iterator -> IteratorFoldFunction -> GValue -> m IteratorResult Source
iteratorForeach
data IteratorForeachMethodInfo Source
Instances
| ((~) * signature (IteratorForeachFunction -> m IteratorResult), MonadIO m) => MethodInfo * IteratorForeachMethodInfo Iterator signature Source |
iteratorForeach :: MonadIO m => Iterator -> IteratorForeachFunction -> m IteratorResult Source
iteratorFree
data IteratorFreeMethodInfo Source
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * IteratorFreeMethodInfo Iterator signature Source |
iteratorFree :: MonadIO m => Iterator -> m () Source
iteratorNewSingle
iteratorNext
data IteratorNextMethodInfo Source
Instances
| ((~) * signature (m (IteratorResult, GValue)), MonadIO m) => MethodInfo * IteratorNextMethodInfo Iterator signature Source |
iteratorNext :: MonadIO m => Iterator -> m (IteratorResult, GValue) Source
iteratorPush
data IteratorPushMethodInfo Source
Instances
| ((~) * signature (Iterator -> m ()), MonadIO m) => MethodInfo * IteratorPushMethodInfo Iterator signature Source |
iteratorPush :: MonadIO m => Iterator -> Iterator -> m () Source
iteratorResync
data IteratorResyncMethodInfo Source
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * IteratorResyncMethodInfo Iterator signature Source |
iteratorResync :: MonadIO m => Iterator -> m () Source
Properties
Cookie
iteratorCookie :: AttrLabelProxy "cookie" Source
iteratorReadCookie :: MonadIO m => Iterator -> m Word32 Source
iteratorWriteCookie :: MonadIO m => Iterator -> Word32 -> m () Source
Lock
iteratorClearLock :: MonadIO m => Iterator -> m () Source
iteratorLock :: AttrLabelProxy "lock" Source
MasterCookie
iteratorMasterCookie :: AttrLabelProxy "masterCookie" Source
iteratorReadMasterCookie :: MonadIO m => Iterator -> m Word32 Source
iteratorWriteMasterCookie :: MonadIO m => Iterator -> Word32 -> m () Source
Pushed
iteratorClearPushed :: MonadIO m => Iterator -> m () Source
iteratorPushed :: AttrLabelProxy "pushed" Source
Size
iteratorReadSize :: MonadIO m => Iterator -> m Word32 Source
iteratorSize :: AttrLabelProxy "size" Source
iteratorWriteSize :: MonadIO m => Iterator -> Word32 -> m () Source
Type
iteratorReadType :: MonadIO m => Iterator -> m GType Source
iteratorType :: AttrLabelProxy "type" Source
iteratorWriteType :: MonadIO m => Iterator -> GType -> m () Source