Iterator.this

Create a new iterator. This function is mainly used for objects implementing the next/resync/free function to iterate a data structure.

For each item retrieved, the item function is called with the lock held. The free function is called when the iterator is freed.

  1. this(GstIterator* gstIterator, bool ownedRef)
  2. this(uint size, GType type, Mutex lock, uint* masterCookie, GstIteratorCopyFunction copy, GstIteratorNextFunction next, GstIteratorItemFunction item, GstIteratorResyncFunction resync, GstIteratorFreeFunction free)
  3. this(GType type, Mutex lock, uint* masterCookie, ListG list, ObjectG owner, GstIteratorItemFunction item)
  4. this(GType type, Value object)

Parameters

size uint

the size of the iterator structure

type GType

GType of children

lock Mutex

pointer to a glib.Mutex

masterCookie uint*

pointer to a guint32 that is changed when the items in the iterator changed.

copy GstIteratorCopyFunction

copy function

next GstIteratorNextFunction

function to get next item

item GstIteratorItemFunction

function to call on each item retrieved

resync GstIteratorResyncFunction

function to resync the iterator

free GstIteratorFreeFunction

function to free the iterator

Return Value

the new gstreamer.Iterator

MT safe.

Throws

ConstructionException GTK+ fails to create the object.