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

# GStreamer::Bin(3pm)

Base class and element that can contain other elements

## NAME

GStreamer::Bin -  Base class and element that can contain other elements

## HIERARCHY

```
  Glib::Object
  +----GStreamer::Object
       +----GStreamer::Element
            +----GStreamer::Bin
```

## INTERFACES

```
  GStreamer::ChildProxy
```

## METHODS

### element = GStreamer::Bin-\>new ($name)

- •

  `$name` (string)

### $bin-\>add ($element, ...)

- •

  `$element` (GStreamer::Element)

- •

  ... (list)

### element = $bin-\>get\_by\_interface ($interface)

- •

  `$interface` (string)

### element = $bin-\>get\_by\_name ($name)

- •

  `$name` (string)

### element = $bin-\>get\_by\_name\_recurse\_up ($name)

- •

  `$name` (string)

### iterator = $bin-\>iterate\_all\_by\_interface ($interface)

- •

  `$interface` (string)

### iterator = $bin-\>iterate\_elements

### iterator = $bin-\>iterate\_recurse

### iterator = $bin-\>iterate\_sinks

### iterator = $bin-\>iterate\_sorted

### $bin-\>remove ($element, ...)

- •

  `$element` (GStreamer::Element)

- •

  ... (list)

## PROPERTIES

- 'async-handling' (boolean : default false : readable / writable / private)

  The bin will handle Asynchronous state changes

- 'message-forward' (boolean : default false : readable / writable / private)

  Forwards all children messages

## SIGNALS

- **element-added** (GStreamer::Bin, GStreamer::Element)

  - **element-removed** (GStreamer::Bin, GStreamer::Element)

  - boolean = **do-latency** (GStreamer::Bin)

  ## SEE ALSO

GStreamer, Glib::Object, GStreamer::Object, GStreamer::Element

## COPYRIGHT

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

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