---
name: "GStreamer::Iterator"
section: "3pm"
platform: "linux"
package: "libgstreamer-perl"
version: "0.19-1+b1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/GStreamer::Iterator"
---

# GStreamer::Iterator(3pm)

Object to retrieve multiple elements in a threadsafe way.

## NAME

GStreamer::Iterator -  Object to retrieve multiple elements in a threadsafe way.

## SYNOPSIS

```
  foreach ($bin -> iterate_elements()) {
    do_something($_);
  }
  my $iter = $bin -> iterate_elements();
  while ($_ = $iter -> next()) {
    do_something($_);
  }
```

## DESCRIPTION

There are two ways to use a *GStreamer::Iterator*.  The first is to use normal Perl looping stuff:

```
  foreach ($bin -> iterate_elements()) {
    do_something($_);
  }
```

This is very elegant and Perl-ish, but may also be a bit slower.

The alternative is to use the *next* method:

```
  my $iter = $bin -> iterate_elements();
  while ($_ = $iter -> next()) {
    do_something($_);
  }
```

This is hardly beautiful but avoids looping over the elements unnecessarily and is thus faster.

## METHODS

### scalar = $iter-\>next

## SEE ALSO

GStreamer

## COPYRIGHT

Copyright (C) 2005-2011 by the gtk2-perl team.

This software is licensed under the LGPL.  See GStreamer for a full notice.
