Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 7a65d2578765429f23843d9c8d1c0efa > files > 333

libgstreamermm-devel-0.10.5.2-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>gstreamermm: Gst::Bin Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceGst.html">Gst</a>::<a class="el" href="classGst_1_1Bin.html">Bin</a>
  </div>
</div>
<div class="contents">
<h1>Gst::Bin Class Reference<br/>
<small>
[<a class="el" href="group__GstBaseClasses.html">gstreamermm Base Classes</a>]</small>
</h1><!-- doxytag: class="Gst::Bin" --><!-- doxytag: inherits="Gst::Element,Gst::ChildProxy" -->
<p><a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a> - Base class and element that can contain other elements. <a href="#_details">More...</a></p>

<p>Inherits <a class="el" href="classGst_1_1Element.html">Gst::Element</a>, and <a class="el" href="classGst_1_1ChildProxy.html">Gst::ChildProxy</a>.</p>

<p>Inherited by <a class="el" href="classGst_1_1DecodeBin.html">Gst::DecodeBin</a>, <a class="el" href="classGst_1_1DecodeBin2.html">Gst::DecodeBin2</a>, <a class="el" href="classGst_1_1Pipeline.html">Gst::Pipeline</a>, and <a class="el" href="classGst_1_1UriDecodeBin.html">Gst::UriDecodeBin</a>.</p>
<div class="dynheader">
Collaboration diagram for Gst::Bin:</div>
<div class="dynsection">
<div class="center"><img src="classGst_1_1Bin__coll__graph.png" border="0" usemap="#Gst_1_1Bin_coll__map" alt="Collaboration graph"/></div>
<map name="Gst_1_1Bin_coll__map" id="Gst_1_1Bin_coll__map">
<area shape="rect" href="classGst_1_1Element.html" title="Gst::Element &#45; Abstract base class for all pipeline elements." alt="" coords="5,315,104,344"/><area shape="rect" href="classGst_1_1Object.html" title="Gst::Object &#45; Base class for the GStreamer object hierarchy." alt="" coords="12,237,100,267"/><area shape="rect" href="../../../glibmm-2.4/reference/html/classGlib_1_1Object.html" title="Glib::Object" alt="" coords="15,160,105,189"/><area shape="rect" href="../../../glibmm-2.4/reference/html/classGlib_1_1ObjectBase.html" title="Glib::ObjectBase" alt="" coords="60,83,180,112"/><area shape="rect" href="../../../glibmm-2.4/reference/html/classGlib_1_1Interface.html" title="Glib::Interface" alt="" coords="129,160,233,189"/><area shape="rect" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html" title="sigc::trackable" alt="" coords="67,5,173,35"/><area shape="rect" href="classGst_1_1ChildProxy.html" title="Gst::ChildProxy &#45; An interface for multi child elements." alt="" coords="128,315,240,344"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classGst_1_1Bin-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a11bc9342ece9119a28a845263325465c">~Bin</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">GstBin*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#ac7f153dcb8876aeef9c65647d576f60b">gobj</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#ac7f153dcb8876aeef9c65647d576f60b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const GstBin*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a931770c29429b7fe4d01e606e7787d3d">gobj</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#a931770c29429b7fe4d01e606e7787d3d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">GstBin*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#ab53a89561c693b91fef6d9ae35e215f7">gobj_copy</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. <a href="#ab53a89561c693b91fef6d9ae35e215f7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Bin.html">Gst::Bin</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a70138b916b8cfbbcef9c2b6c5be03066">add</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp; element)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the given element to the bin. <a href="#a70138b916b8cfbbcef9c2b6c5be03066"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Bin.html">Gst::Bin</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a0c7aa2684baf7a7208431b91c307e990">remove</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp; element)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the element from the bin, unparenting it as well. <a href="#a0c7aa2684baf7a7208431b91c307e990"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a51d81c3e6dde4bb1275e6723def18733">get_element</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>&amp; name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the element with the given name from a bin. <a href="#a51d81c3e6dde4bb1275e6723def18733"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; const <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#afcbf1621e0faa73c5adccb4a3f0d136b">get_element</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>&amp; name) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the element with the given name from a bin. <a href="#afcbf1621e0faa73c5adccb4a3f0d136b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#ac122f8fe444d3abb19f83085ae4c1b95">get_element_recurse_up</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>&amp; name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the element with the given name from this bin. <a href="#ac122f8fe444d3abb19f83085ae4c1b95"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; const <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a7e2b87232bf8ea030e67771af7a70499">get_element_recurse_up</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>&amp; name) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the element with the given name from this bin. <a href="#a7e2b87232bf8ea030e67771af7a70499"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a66f96d2620c94f8c4293d6399ad564ed">get_element</a> (GType interface)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Looks for an element inside the bin that implements the given interface. <a href="#a66f96d2620c94f8c4293d6399ad564ed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; const <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#ac23a03bd9ac0e4fcf96456a591d669b6">get_element</a> (GType interface) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Looks for an element inside the bin that implements the given interface. <a href="#ac23a03bd9ac0e4fcf96456a591d669b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1GhostPad.html">Gst::GhostPad</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a906e835b277f5e81c0580350f00872c0">add_ghost_pad</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp; element, const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>&amp; pad_name, const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>&amp; name=<a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a ghost pad to the bin using an element's static pad as a target. <a href="#a906e835b277f5e81c0580350f00872c0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Pad.html">Gst::Pad</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a59a18d135f640d8fddf1267876d382bb">find_unlinked_pad</a> (<a class="el" href="group__gstreamermmEnums.html#ga06f428adf8058c0d1c01984a1ce191e2">PadDirection</a> dir)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively looks for elements with an unlinked pad of the given direction within the specified bin and returns an unlinked pad if one is found, or <code>0</code> otherwise. <a href="#a59a18d135f640d8fddf1267876d382bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; const <a class="el" href="classGst_1_1Pad.html">Gst::Pad</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#ab65548819563aa70c93d46e3bd535887">find_unlinked_pad</a> (<a class="el" href="group__gstreamermmEnums.html#ga06f428adf8058c0d1c01984a1ce191e2">PadDirection</a> dir) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively looks for elements with an unlinked pad of the given direction within the specified bin and returns an unlinked pad if one is found, or <code>0</code> otherwise. <a href="#ab65548819563aa70c93d46e3bd535887"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#ae92ec0fa64bc37257b92803e14238e9a">iterate_elements</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator for the elements in this bin. <a href="#ae92ec0fa64bc37257b92803e14238e9a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; const <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a0e9e580cffb6026ecf4ad05890beadf4">iterate_elements</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator for the elements in this bin. <a href="#a0e9e580cffb6026ecf4ad05890beadf4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#adab9ff714eb70a582293b2c41bd0fe2e">iterate_recurse</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator for the elements in this bin. <a href="#adab9ff714eb70a582293b2c41bd0fe2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; const <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a797a7f40b9e2f05f7c37f88137a95be2">iterate_recurse</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator for the elements in this bin. <a href="#a797a7f40b9e2f05f7c37f88137a95be2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a2fb47020198d6219cbef634d287d7031">iterate_sorted</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator for the elements in this bin in topologically sorted order. <a href="#a2fb47020198d6219cbef634d287d7031"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; const <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#aeafa1f97a73a030a1228516e8ae0dad9">iterate_sorted</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator for the elements in this bin in topologically sorted order. <a href="#aeafa1f97a73a030a1228516e8ae0dad9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#af19b363959b9de80590eb6d36c3b76f0">iterate_sources</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator for all elements in the bin that have no sinkpads and have the <a class="el" href="group__gstreamermmEnums.html#ggaf326d5b7f7963a4b2dbe8cc1121adc9eaf371d463593a64041c4c0c5345a99278">Gst::ELEMENT_IS_SINK</a> flag unset. <a href="#af19b363959b9de80590eb6d36c3b76f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; const <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a6675dd72298dbd16378e51f2ec8e399c">iterate_sources</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator for all elements in the bin that have no sinkpads and have the <a class="el" href="group__gstreamermmEnums.html#ggaf326d5b7f7963a4b2dbe8cc1121adc9eaf371d463593a64041c4c0c5345a99278">Gst::ELEMENT_IS_SINK</a> flag unset. <a href="#a6675dd72298dbd16378e51f2ec8e399c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a705cb5a0ce87a194b7275295781f62bc">iterate_sinks</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator for all elements in the bin that have the <a class="el" href="group__gstreamermmEnums.html#ggaf326d5b7f7963a4b2dbe8cc1121adc9eaf371d463593a64041c4c0c5345a99278">Gst::ELEMENT_IS_SINK</a> flag set. <a href="#a705cb5a0ce87a194b7275295781f62bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; const <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a903ba6a2fa3a4f8de1581de8c0e504ec">iterate_sinks</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an iterator for all elements in the bin that have the <a class="el" href="group__gstreamermmEnums.html#ggaf326d5b7f7963a4b2dbe8cc1121adc9eaf371d463593a64041c4c0c5345a99278">Gst::ELEMENT_IS_SINK</a> flag set. <a href="#a903ba6a2fa3a4f8de1581de8c0e504ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a0718a15c4e774ed9e3a25ddcdb2f2d6f">iterate_by_interface</a> (GType iface)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Looks for all elements inside the bin that implements the given interface. <a href="#a0718a15c4e774ed9e3a25ddcdb2f2d6f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt; const <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#ad23ba6acb9dec7b9beedd9a2ca449ed6">iterate_by_interface</a> (GType iface) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Looks for all elements inside the bin that implements the given interface. <a href="#ad23ba6acb9dec7b9beedd9a2ca449ed6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a9eb81e20233675229028ff7ec52db7d3">recalculate_latency</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classGst_1_1Query.html" title="Gst::Query - Classes used to perform queries on pads and elements.">Query</a> <em>bin</em> for the current latency using and reconfigures this latency to all the elements with a LATENCY event. <a href="#a9eb81e20233675229028ff7ec52db7d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ListHandle.html">Glib::ListHandle</a>&lt; <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a><br class="typebreak"/>
&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#afc0422ed4d4a586e544a5e868c855757">get_children</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the bin's list of children. <a href="#afc0422ed4d4a586e544a5e868c855757"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#afd1a8b214b871236a7736f7bc88ebad3">get_num_children</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of children in the bin. <a href="#afd1a8b214b871236a7736f7bc88ebad3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1SignalProxy1.html">Glib::SignalProxy1</a>&lt; void, <br class="typebreak"/>
const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a><br class="typebreak"/>
&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#ad98180a910e42ddee1df6840341faf3b">signal_element_added</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Will be emitted after the element was added to the bin. <a href="#ad98180a910e42ddee1df6840341faf3b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1SignalProxy1.html">Glib::SignalProxy1</a>&lt; void, <br class="typebreak"/>
const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a><br class="typebreak"/>
&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#abe365ce88608f6e578c92307b15ed9b1">signal_element_removed</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Will be emitted after the element was removed from the bin. <a href="#abe365ce88608f6e578c92307b15ed9b1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1SignalProxy0.html">Glib::SignalProxy0</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#aa460cad177263fc5e1d32c324b08e09d">signal_do_latency</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1PropertyProxy.html">Glib::PropertyProxy</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a462e601c2bfc70a24f54d565d1cf5420">property_async_handling</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The bin will handle Asynchronous state changes. <a href="#a462e601c2bfc70a24f54d565d1cf5420"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1PropertyProxy__ReadOnly.html">Glib::PropertyProxy_ReadOnly</a><br class="typebreak"/>
&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#aaafa7ac6c5c1cefd035ac59a907a083e">property_async_handling</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The bin will handle Asynchronous state changes. <a href="#aaafa7ac6c5c1cefd035ac59a907a083e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#abc85bc4ba122aa5bc4458a1fa6699889">add_element_vfunc</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp; element)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Method to add an element to a bin. <a href="#abc85bc4ba122aa5bc4458a1fa6699889"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a6ee4aab3975729d363452018bf4a8bb7">remove_element_vfunc</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp; element)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Method to remove an element from a bin. <a href="#a6ee4aab3975729d363452018bf4a8bb7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a14697e82569adc34f316dfe7c8d8b0c3">handle_message_vfunc</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Message.html">Gst::Message</a> &gt;&amp; message)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Method to handle a message from the children. <a href="#a14697e82569adc34f316dfe7c8d8b0c3"></a><br/></td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Bin.html">Bin</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a184ee52813a2d34cb252c9c8ed853785">create</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>&amp; name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new bin with the given name. <a href="#a184ee52813a2d34cb252c9c8ed853785"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Bin.html">Bin</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a9b71a16951807a36684e52cbbb354c6c">create</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new bin with a unique generic name. <a href="#a9b71a16951807a36684e52cbbb354c6c"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a9942767c14789bb411991db70686464f">Bin</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>&amp; name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a85db6522eaac980a3a2783482b05ed1a">Bin</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#ae743e2b41d42029e0a29c5f54f69bd99">on_element_added</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp; element)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#afe156854b26e263e4f43d117b9fe46f3">on_element_removed</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp; element)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a5c0a1ff82d8aff9e151f4201ca9b3fab">on_do_latency</a> ()</td></tr>
<tr><td colspan="2"><h2>Related Functions</h2></td></tr>
<tr><td colspan="2"><p>(Note that these are not member functions.) </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Bin.html">Gst::Bin</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Bin.html#a8b9470b686d2085c5c7d4ae316422adf">wrap</a> (GstBin* object, bool take_copy=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a class="elRef" href="../../../glibmm-2.4/reference/html/namespaceGlib.html#a671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. <a href="#a8b9470b686d2085c5c7d4ae316422adf"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p><a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a> - Base class and element that can contain other elements. </p>
<p><a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a> is an element that can contain other <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a>, allowing them to be managed as a group. Pads from the child elements can be ghosted to the bin, see <a class="el" href="classGst_1_1GhostPad.html" title="Gst::GhostPad - Pseudo link pads.">Gst::GhostPad</a>. This makes the bin look like any other elements and enables creation of higher-level abstraction elements.</p>
<p>A new <a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a> is created with <a class="el" href="classGst_1_1Bin.html#a9b71a16951807a36684e52cbbb354c6c" title="Creates a new bin with a unique generic name.">create()</a>. Use a <a class="el" href="classGst_1_1Pipeline.html" title="A Gst::Pipeline is a special Gst::Bin used as the toplevel container for the filter...">Gst::Pipeline</a> instead if you want to create a toplevel bin because a normal bin doesn't have a bus or handle clock distribution of its own.</p>
<p>After the bin has been created you will typically add elements to it with <a class="el" href="classGst_1_1Bin.html#a70138b916b8cfbbcef9c2b6c5be03066" title="Adds the given element to the bin.">add()</a>. You can remove elements with <a class="el" href="classGst_1_1Bin.html#a0c7aa2684baf7a7208431b91c307e990" title="Removes the element from the bin, unparenting it as well.">remove()</a>.</p>
<p>An element can be retrieved from a bin with <a class="el" href="classGst_1_1Bin.html#a51d81c3e6dde4bb1275e6723def18733" title="Gets the element with the given name from a bin.">get_element()</a>, using the elements name. <a class="el" href="classGst_1_1Bin.html#ac122f8fe444d3abb19f83085ae4c1b95" title="Gets the element with the given name from this bin.">get_element_recurse_up()</a> is mainly used for internal purposes and will query the parent bins when the element is not found in the current bin.</p>
<p>An iterator of elements in a bin can be retrieved with <a class="el" href="classGst_1_1Bin.html#ae92ec0fa64bc37257b92803e14238e9a" title="Gets an iterator for the elements in this bin.">iterate_elements()</a>. Various other iterators exist to retrieve the elements in a bin.</p>
<p>The element-added signal is fired whenever a new element is added to the bin. Likewise the element-removed signal is fired whenever an element is removed from the bin.</p>
<p>Notes:</p>
<p>A <a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a> internally intercepts every <a class="el" href="classGst_1_1Message.html" title="Gst::Message - Lightweight objects to signal the application of pipeline events.">Gst::Message</a> posted by its children and implements the following default behaviour for each of them:</p>
<ul>
<li><a class="el" href="group__gstreamermmEnums.html#gga704e8de3c3f9698d3c3ca15d61190a86a54386bb6458f0d8db95058b83c7eb078">Gst::MESSAGE_EOS</a> - This message is only posted by sinks in the PLAYING state. If all sinks posted the EOS message, this bin will post and EOS message upwards.</li>
</ul>
<ul>
<li><a class="el" href="group__gstreamermmEnums.html#gga704e8de3c3f9698d3c3ca15d61190a86ae7b895aef8aed4121c6a69652f29c762">Gst::MESSAGE_SEGMENT_START</a> - just collected and never forwarded upwards. The messages are used to decide when all elements have completed playback of their segment.</li>
</ul>
<ul>
<li><a class="el" href="group__gstreamermmEnums.html#gga704e8de3c3f9698d3c3ca15d61190a86aad27ed40c5ab1e7bdb0f35e63df00eb6">Gst::MESSAGE_SEGMENT_DONE</a> - Is posted by <a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a> when all elements that posted a <a class="el" href="group__gstreamermmEnums.html#gga704e8de3c3f9698d3c3ca15d61190a86ae7b895aef8aed4121c6a69652f29c762">Gst::MESSAGE_SEGMENT_START</a> have posted a <a class="el" href="group__gstreamermmEnums.html#gga704e8de3c3f9698d3c3ca15d61190a86aad27ed40c5ab1e7bdb0f35e63df00eb6">Gst::MESSAGE_SEGMENT_DONE</a>.</li>
</ul>
<ul>
<li><a class="el" href="group__gstreamermmEnums.html#gga704e8de3c3f9698d3c3ca15d61190a86ad12914be444f8417ed351a8ba6fa1148">Gst::MESSAGE_DURATION</a> - Is posted by an element that detected a change in the stream duration. The default bin behaviour is to clear any cached duration values so that the next duration query will perform a full duration recalculation. The duration change is posted to the application so that it can refetch the new duration with a duration query.</li>
</ul>
<ul>
<li><a class="el" href="group__gstreamermmEnums.html#gga704e8de3c3f9698d3c3ca15d61190a86a320e14d23a5356ef4ae3080749de0735">Gst::MESSAGE_CLOCK_LOST</a> - This message is posted by an element when it can no longer provide a clock. The default bin behaviour is to check if the lost clock was the one provided by the bin. If so and the bin is currently in the PLAYING state, the message is forwarded to the bin parent. This message is also generated when a clock provider is removed from the bin. If this message is received by the application, it should PAUSE the pipeline and set it back to PLAYING to force a new clock distribution.</li>
</ul>
<ul>
<li><a class="el" href="group__gstreamermmEnums.html#gga704e8de3c3f9698d3c3ca15d61190a86aa737322df633817b1017ee6638340972">Gst::MESSAGE_CLOCK_PROVIDE</a> - This message is generated when an element can provide a clock. This mostly happens when a new clock provider is added to the bin. The default behaviour of the bin is to mark the currently selected clock as dirty, which will perform a clock recalculation the next time the bin is asked to provide a clock. This message is never sent tot the application but is forwarded to the parent of the bin.</li>
</ul>
<ul>
<li>OTHERS - posted upwards.</li>
</ul>
<p>A <a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a> implements the following default behaviour for answering to a <a class="el" href="classGst_1_1Query.html" title="Gst::Query - Classes used to perform queries on pads and elements.">Gst::Query</a>:</p>
<ul>
<li><a class="el" href="group__gstreamermmEnums.html#gga4f1a3aebb6bc7d8271761147c11542d7a6a32579ae7be2ca5a6be17dbadcd687f">Gst::QUERY_DURATION</a> - If the query has been asked before with the same format and the bin is a toplevel bin (ie. has no parent), use the cached previous value. If no previous value was cached, the query is sent to all sink elements in the bin and the MAXIMUM of all values is returned. If the bin is a toplevel bin the value is cached. If no sinks are available in the bin, the query fails.</li>
</ul>
<ul>
<li><a class="el" href="group__gstreamermmEnums.html#gga4f1a3aebb6bc7d8271761147c11542d7afb634c8894e20a86915d9c4d29deb52e">Gst::QUERY_POSITION</a> - The query is sent to all sink elements in the bin and the MAXIMUM of all values is returned. If no sinks are available in the bin, the query fails.</li>
</ul>
<ul>
<li>OTHERS - the query is forwarded to all sink elements, the result of the first sink that answers the query successfully is returned. If no sink is in the bin, the query fails.</li>
</ul>
<p>A <a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a> will by default forward any event sent to it to all sink elements. If all the sinks return true, the bin will also return true, else false is returned. If no sinks are in the bin, the event handler will return true.</p>
<p>Last reviewed on 2006-04-28 (0.10.6) </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a11bc9342ece9119a28a845263325465c"></a><!-- doxytag: member="Gst::Bin::~Bin" ref="a11bc9342ece9119a28a845263325465c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual Gst::Bin::~Bin </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9942767c14789bb411991db70686464f"></a><!-- doxytag: member="Gst::Bin::Bin" ref="a9942767c14789bb411991db70686464f" args="(const Glib::ustring &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Gst::Bin::Bin </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> &amp;&#160;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&#160;)&#160;</td>
          <td><code> [explicit, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a85db6522eaac980a3a2783482b05ed1a"></a><!-- doxytag: member="Gst::Bin::Bin" ref="a85db6522eaac980a3a2783482b05ed1a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Gst::Bin::Bin </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a70138b916b8cfbbcef9c2b6c5be03066"></a><!-- doxytag: member="Gst::Bin::add" ref="a70138b916b8cfbbcef9c2b6c5be03066" args="(const Glib::RefPtr&lt; Gst::Element &gt; &amp;element)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1Bin.html">Gst::Bin</a>&gt; Gst::Bin::add </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>element</em></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds the given element to the bin. </p>
<p>This sets the element's parent, and thus takes ownership of the element. An element can only be added to one bin.</p>
<p>If the element's pads are linked to other pads then the pads will be unlinked before the element is added to the bin.</p>
<p>MT safe.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>element</em>&#160;</td><td>The <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> to add. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>This <a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a> if successful, for chained calls to <a class="el" href="classGst_1_1Bin.html#a70138b916b8cfbbcef9c2b6c5be03066" title="Adds the given element to the bin.">add()</a>.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00558.html">std::runtime_error</a></em>&#160;</td><td>if the <a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Bin</a> does not want to accept the <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Element</a>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abc85bc4ba122aa5bc4458a1fa6699889"></a><!-- doxytag: member="Gst::Bin::add_element_vfunc" ref="abc85bc4ba122aa5bc4458a1fa6699889" args="(const Glib::RefPtr&lt; Gst::Element &gt; &amp;element)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Gst::Bin::add_element_vfunc </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>element</em></td>
          <td>&#160;)&#160;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Method to add an element to a bin. </p>

</div>
</div>
<a class="anchor" id="a906e835b277f5e81c0580350f00872c0"></a><!-- doxytag: member="Gst::Bin::add_ghost_pad" ref="a906e835b277f5e81c0580350f00872c0" args="(const Glib::RefPtr&lt; Gst::Element &gt; &amp;element, const Glib::ustring &amp;pad_name, const Glib::ustring &amp;name=Glib::ustring())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1GhostPad.html">Gst::GhostPad</a>&gt; Gst::Bin::add_ghost_pad </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>element</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> &amp;&#160;</td>
          <td class="paramname"> <em>pad_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> &amp;&#160;</td>
          <td class="paramname"> <em>name</em> = <code><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>()</code></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a ghost pad to the bin using an element's static pad as a target. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>element</em>&#160;</td><td>The element with the target static pad. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pad_name</em>&#160;</td><td>The static pad to use as the target. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&#160;</td><td>An optional name for the ghost pad. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The newly created <a class="el" href="classGst_1_1GhostPad.html" title="Gst::GhostPad - Pseudo link pads.">Gst::GhostPad</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="a9b71a16951807a36684e52cbbb354c6c"></a><!-- doxytag: member="Gst::Bin::create" ref="a9b71a16951807a36684e52cbbb354c6c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1Bin.html">Bin</a>&gt; Gst::Bin::create </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new bin with a unique generic name. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a>. </dd></dl>

<p>Reimplemented in <a class="el" href="classGst_1_1Pipeline.html#a128afc567b461f52e180b37d76dc1c4d">Gst::Pipeline</a>, <a class="el" href="classGst_1_1DecodeBin2.html#acc4b0d668fc106e36274f1e839702e39">Gst::DecodeBin2</a>, <a class="el" href="classGst_1_1DecodeBin.html#a798d8525748c5dd128722068fac8ce42">Gst::DecodeBin</a>, <a class="el" href="classGst_1_1PlayBin2.html#a566638323eeff619992ba93f6168f4cc">Gst::PlayBin2</a>, <a class="el" href="classGst_1_1PlayBin.html#acdaeab71ae2525bd6e0b60b060aba037">Gst::PlayBin</a>, and <a class="el" href="classGst_1_1UriDecodeBin.html#aace4016d7cefb937b9461cecab2292f7">Gst::UriDecodeBin</a>.</p>

</div>
</div>
<a class="anchor" id="a184ee52813a2d34cb252c9c8ed853785"></a><!-- doxytag: member="Gst::Bin::create" ref="a184ee52813a2d34cb252c9c8ed853785" args="(const Glib::ustring &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1Bin.html">Bin</a>&gt; Gst::Bin::create </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> &amp;&#160;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&#160;)&#160;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new bin with the given name. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&#160;</td><td>The name of the new bin. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A new <a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a>. </dd></dl>

<p>Reimplemented in <a class="el" href="classGst_1_1Pipeline.html#afe78dd5dc3f7dc206061f6fa6cf66d34">Gst::Pipeline</a>, <a class="el" href="classGst_1_1DecodeBin2.html#a0c9d585520582790676bddb550a86172">Gst::DecodeBin2</a>, <a class="el" href="classGst_1_1DecodeBin.html#a42f6e0ea84b9b2563f16f6b27c2b95f1">Gst::DecodeBin</a>, <a class="el" href="classGst_1_1PlayBin2.html#adcaa068091e775a826d7d897a15e2722">Gst::PlayBin2</a>, <a class="el" href="classGst_1_1PlayBin.html#a2ddc0ffc693330aecbaa0000ff81c61d">Gst::PlayBin</a>, and <a class="el" href="classGst_1_1UriDecodeBin.html#afcff68ca05c5db8db3c84e9a2f74f38f">Gst::UriDecodeBin</a>.</p>

</div>
</div>
<a class="anchor" id="ab65548819563aa70c93d46e3bd535887"></a><!-- doxytag: member="Gst::Bin::find_unlinked_pad" ref="ab65548819563aa70c93d46e3bd535887" args="(PadDirection dir) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;const <a class="el" href="classGst_1_1Pad.html">Gst::Pad</a>&gt; Gst::Bin::find_unlinked_pad </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__gstreamermmEnums.html#ga06f428adf8058c0d1c01984a1ce191e2">PadDirection</a>&#160;</td>
          <td class="paramname"> <em>dir</em></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Recursively looks for elements with an unlinked pad of the given direction within the specified bin and returns an unlinked pad if one is found, or <code>0</code> otherwise. </p>
<p>If a pad is found, the caller owns a reference to it and should use Gst::Object::unref() on the pad when it is not needed any longer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>direction</em>&#160;</td><td>Whether to look for an unlinked source or sink pad. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Unlinked pad of the given direction, or <code>0</code>.</dd></dl>
<dl class="since_0_10"><dt><b><a class="el" href="since_0_10.html#_since_0_10000040">Since gstreamermm 0.10:</a></b></dt><dd>.20. </dd></dl>

</div>
</div>
<a class="anchor" id="a59a18d135f640d8fddf1267876d382bb"></a><!-- doxytag: member="Gst::Bin::find_unlinked_pad" ref="a59a18d135f640d8fddf1267876d382bb" args="(PadDirection dir)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1Pad.html">Gst::Pad</a>&gt; Gst::Bin::find_unlinked_pad </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__gstreamermmEnums.html#ga06f428adf8058c0d1c01984a1ce191e2">PadDirection</a>&#160;</td>
          <td class="paramname"> <em>dir</em></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Recursively looks for elements with an unlinked pad of the given direction within the specified bin and returns an unlinked pad if one is found, or <code>0</code> otherwise. </p>
<p>If a pad is found, the caller owns a reference to it and should use Gst::Object::unref() on the pad when it is not needed any longer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>direction</em>&#160;</td><td>Whether to look for an unlinked source or sink pad. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Unlinked pad of the given direction, or <code>0</code>.</dd></dl>
<dl class="since_0_10"><dt><b><a class="el" href="since_0_10.html#_since_0_10000039">Since gstreamermm 0.10:</a></b></dt><dd>.20. </dd></dl>

</div>
</div>
<a class="anchor" id="afc0422ed4d4a586e544a5e868c855757"></a><!-- doxytag: member="Gst::Bin::get_children" ref="afc0422ed4d4a586e544a5e868c855757" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ListHandle.html">Glib::ListHandle</a>&lt; <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; &gt; Gst::Bin::get_children </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the bin's list of children. </p>

</div>
</div>
<a class="anchor" id="ac23a03bd9ac0e4fcf96456a591d669b6"></a><!-- doxytag: member="Gst::Bin::get_element" ref="ac23a03bd9ac0e4fcf96456a591d669b6" args="(GType interface) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;const <a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::get_element </td>
          <td>(</td>
          <td class="paramtype">GType&#160;</td>
          <td class="paramname"> <em>interface</em></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Looks for an element inside the bin that implements the given interface. </p>
<p>If such an element is found, it returns the element. You can cast this element to the given interface afterwards. If you want all elements that implement the interface, use iterate_all_by_interface(). This function recurses into child bins.</p>
<p>MT safe. Caller owns returned reference. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iface</em>&#160;</td><td>The Type of an interface. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> inside the bin implementing the interface. </dd></dl>

</div>
</div>
<a class="anchor" id="a66f96d2620c94f8c4293d6399ad564ed"></a><!-- doxytag: member="Gst::Bin::get_element" ref="a66f96d2620c94f8c4293d6399ad564ed" args="(GType interface)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::get_element </td>
          <td>(</td>
          <td class="paramtype">GType&#160;</td>
          <td class="paramname"> <em>interface</em></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Looks for an element inside the bin that implements the given interface. </p>
<p>If such an element is found, it returns the element. You can cast this element to the given interface afterwards. If you want all elements that implement the interface, use iterate_all_by_interface(). This function recurses into child bins.</p>
<p>MT safe. Caller owns returned reference. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iface</em>&#160;</td><td>The Type of an interface. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> inside the bin implementing the interface. </dd></dl>

</div>
</div>
<a class="anchor" id="afcbf1621e0faa73c5adccb4a3f0d136b"></a><!-- doxytag: member="Gst::Bin::get_element" ref="afcbf1621e0faa73c5adccb4a3f0d136b" args="(const Glib::ustring &amp;name) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;const <a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::get_element </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> &amp;&#160;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the element with the given name from a bin. </p>
<p>This function recurses into child bins.</p>
<p>Returns: the <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> with the given name, or <code>0</code> </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&#160;</td><td>The element name to search for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> with the given name, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a51d81c3e6dde4bb1275e6723def18733"></a><!-- doxytag: member="Gst::Bin::get_element" ref="a51d81c3e6dde4bb1275e6723def18733" args="(const Glib::ustring &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::get_element </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> &amp;&#160;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the element with the given name from a bin. </p>
<p>This function recurses into child bins.</p>
<p>Returns: the <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> with the given name, or <code>0</code> </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&#160;</td><td>The element name to search for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> with the given name, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a7e2b87232bf8ea030e67771af7a70499"></a><!-- doxytag: member="Gst::Bin::get_element_recurse_up" ref="a7e2b87232bf8ea030e67771af7a70499" args="(const Glib::ustring &amp;name) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;const <a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::get_element_recurse_up </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> &amp;&#160;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the element with the given name from this bin. </p>
<p>If the element is not found, a recursion is performed on the parent bin.</p>
<p>Returns: the <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> with the given name, or <code>0</code> </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&#160;</td><td>The element name to search for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> with the given name, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="ac122f8fe444d3abb19f83085ae4c1b95"></a><!-- doxytag: member="Gst::Bin::get_element_recurse_up" ref="ac122f8fe444d3abb19f83085ae4c1b95" args="(const Glib::ustring &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::get_element_recurse_up </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> &amp;&#160;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the element with the given name from this bin. </p>
<p>If the element is not found, a recursion is performed on the parent bin.</p>
<p>Returns: the <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> with the given name, or <code>0</code> </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&#160;</td><td>The element name to search for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> with the given name, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="afd1a8b214b871236a7736f7bc88ebad3"></a><!-- doxytag: member="Gst::Bin::get_num_children" ref="afd1a8b214b871236a7736f7bc88ebad3" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Gst::Bin::get_num_children </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the number of children in the bin. </p>

</div>
</div>
<a class="anchor" id="a931770c29429b7fe4d01e606e7787d3d"></a><!-- doxytag: member="Gst::Bin::gobj" ref="a931770c29429b7fe4d01e606e7787d3d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const GstBin* Gst::Bin::gobj </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the underlying C GObject. </p>

<p>Reimplemented from <a class="el" href="classGst_1_1ChildProxy.html#a2063ac4fc3ca294e72a8e090a6be893b">Gst::ChildProxy</a>.</p>

<p>Reimplemented in <a class="el" href="classGst_1_1Pipeline.html#ae0731f65fa35b730747b0769460c34ab">Gst::Pipeline</a>, <a class="el" href="classGst_1_1DecodeBin2.html#a652650f6aac6dd03f4ddb7fb22d3986d">Gst::DecodeBin2</a>, <a class="el" href="classGst_1_1DecodeBin.html#ab7b446d5be3837eabcb3165d3ed1d0a1">Gst::DecodeBin</a>, <a class="el" href="classGst_1_1PlayBin2.html#a249977ddf44752e19a7873346ac3e936">Gst::PlayBin2</a>, <a class="el" href="classGst_1_1PlayBin.html#ab45e209861a9f7b1a37b92500157ed33">Gst::PlayBin</a>, and <a class="el" href="classGst_1_1UriDecodeBin.html#ad7272b77cef5d1d82b2f699e604bfdfe">Gst::UriDecodeBin</a>.</p>

</div>
</div>
<a class="anchor" id="ac7f153dcb8876aeef9c65647d576f60b"></a><!-- doxytag: member="Gst::Bin::gobj" ref="ac7f153dcb8876aeef9c65647d576f60b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GstBin* Gst::Bin::gobj </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the underlying C GObject. </p>

<p>Reimplemented from <a class="el" href="classGst_1_1ChildProxy.html#ac91448fdaffb51d494008331ada97cbc">Gst::ChildProxy</a>.</p>

<p>Reimplemented in <a class="el" href="classGst_1_1Pipeline.html#a03ca563f83dc9505e3b09bcd247a888c">Gst::Pipeline</a>, <a class="el" href="classGst_1_1DecodeBin2.html#a97635454d5efbc9d753082c870fde38e">Gst::DecodeBin2</a>, <a class="el" href="classGst_1_1DecodeBin.html#a91dfed5376838f81c4d6cd7da4912a37">Gst::DecodeBin</a>, <a class="el" href="classGst_1_1PlayBin2.html#a1c52876bd7322e8a5e12d738eab79037">Gst::PlayBin2</a>, <a class="el" href="classGst_1_1PlayBin.html#a7078e22ee38b01ab4924a351218b5573">Gst::PlayBin</a>, and <a class="el" href="classGst_1_1UriDecodeBin.html#a4a97f8b8b89add95a4b9d2be0073905c">Gst::UriDecodeBin</a>.</p>

</div>
</div>
<a class="anchor" id="ab53a89561c693b91fef6d9ae35e215f7"></a><!-- doxytag: member="Gst::Bin::gobj_copy" ref="ab53a89561c693b91fef6d9ae35e215f7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GstBin* Gst::Bin::gobj_copy </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. </p>

<p>Reimplemented from <a class="el" href="classGst_1_1Element.html#aaf406873b4b57582deff89ed621fb297">Gst::Element</a>.</p>

<p>Reimplemented in <a class="el" href="classGst_1_1Pipeline.html#aedd8a513cfab9b43db505ba0110ef145">Gst::Pipeline</a>, <a class="el" href="classGst_1_1DecodeBin2.html#ac5ec32e80328fe5e94f5b9cd71ae962d">Gst::DecodeBin2</a>, <a class="el" href="classGst_1_1DecodeBin.html#af15d6b0e4d6e674749f4b2a65432f8a9">Gst::DecodeBin</a>, <a class="el" href="classGst_1_1PlayBin2.html#a56ea371678b5a519d267a5a8429b3ebd">Gst::PlayBin2</a>, <a class="el" href="classGst_1_1PlayBin.html#a210d168218bbe59e4a5406d38d5499a2">Gst::PlayBin</a>, and <a class="el" href="classGst_1_1UriDecodeBin.html#a39f8ee6cf50e9ba739528216943cb9a3">Gst::UriDecodeBin</a>.</p>

</div>
</div>
<a class="anchor" id="a14697e82569adc34f316dfe7c8d8b0c3"></a><!-- doxytag: member="Gst::Bin::handle_message_vfunc" ref="a14697e82569adc34f316dfe7c8d8b0c3" args="(const Glib::RefPtr&lt; Gst::Message &gt; &amp;message)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Gst::Bin::handle_message_vfunc </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Message.html">Gst::Message</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>message</em></td>
          <td>&#160;)&#160;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Method to handle a message from the children. </p>

</div>
</div>
<a class="anchor" id="ad23ba6acb9dec7b9beedd9a2ca449ed6"></a><!-- doxytag: member="Gst::Bin::iterate_by_interface" ref="ad23ba6acb9dec7b9beedd9a2ca449ed6" args="(GType iface) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;const <a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_by_interface </td>
          <td>(</td>
          <td class="paramtype">GType&#160;</td>
          <td class="paramname"> <em>iface</em></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Looks for all elements inside the bin that implements the given interface. </p>
<p>You can safely cast all returned elements to the given interface. The function recurses inside child bins. The iterator will yield a series of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> that should be unreffed after use.</p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iface</em>&#160;</td><td>The Type of an interface. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> for all elements in the bin implementing the given interface, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a0718a15c4e774ed9e3a25ddcdb2f2d6f"></a><!-- doxytag: member="Gst::Bin::iterate_by_interface" ref="a0718a15c4e774ed9e3a25ddcdb2f2d6f" args="(GType iface)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_by_interface </td>
          <td>(</td>
          <td class="paramtype">GType&#160;</td>
          <td class="paramname"> <em>iface</em></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Looks for all elements inside the bin that implements the given interface. </p>
<p>You can safely cast all returned elements to the given interface. The function recurses inside child bins. The iterator will yield a series of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> that should be unreffed after use.</p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iface</em>&#160;</td><td>The Type of an interface. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> for all elements in the bin implementing the given interface, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a0e9e580cffb6026ecf4ad05890beadf4"></a><!-- doxytag: member="Gst::Bin::iterate_elements" ref="a0e9e580cffb6026ecf4ad05890beadf4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;const <a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_elements </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator for the elements in this bin. </p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a>, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="ae92ec0fa64bc37257b92803e14238e9a"></a><!-- doxytag: member="Gst::Bin::iterate_elements" ref="ae92ec0fa64bc37257b92803e14238e9a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_elements </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator for the elements in this bin. </p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a>, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a797a7f40b9e2f05f7c37f88137a95be2"></a><!-- doxytag: member="Gst::Bin::iterate_recurse" ref="a797a7f40b9e2f05f7c37f88137a95be2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;const <a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_recurse </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator for the elements in this bin. </p>
<p>This iterator recurses into GstBin children.</p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a>, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="adab9ff714eb70a582293b2c41bd0fe2e"></a><!-- doxytag: member="Gst::Bin::iterate_recurse" ref="adab9ff714eb70a582293b2c41bd0fe2e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_recurse </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator for the elements in this bin. </p>
<p>This iterator recurses into GstBin children.</p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a>, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a903ba6a2fa3a4f8de1581de8c0e504ec"></a><!-- doxytag: member="Gst::Bin::iterate_sinks" ref="a903ba6a2fa3a4f8de1581de8c0e504ec" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;const <a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_sinks </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator for all elements in the bin that have the <a class="el" href="group__gstreamermmEnums.html#ggaf326d5b7f7963a4b2dbe8cc1121adc9eaf371d463593a64041c4c0c5345a99278">Gst::ELEMENT_IS_SINK</a> flag set. </p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a>, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a705cb5a0ce87a194b7275295781f62bc"></a><!-- doxytag: member="Gst::Bin::iterate_sinks" ref="a705cb5a0ce87a194b7275295781f62bc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_sinks </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator for all elements in the bin that have the <a class="el" href="group__gstreamermmEnums.html#ggaf326d5b7f7963a4b2dbe8cc1121adc9eaf371d463593a64041c4c0c5345a99278">Gst::ELEMENT_IS_SINK</a> flag set. </p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a>, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="aeafa1f97a73a030a1228516e8ae0dad9"></a><!-- doxytag: member="Gst::Bin::iterate_sorted" ref="aeafa1f97a73a030a1228516e8ae0dad9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;const <a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_sorted </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator for the elements in this bin in topologically sorted order. </p>
<p>This means that the elements are returned from the most downstream elements (sinks) to the sources.</p>
<p>This function is used internally to perform the state changes of the bin elements and for clock selection.</p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a>, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a2fb47020198d6219cbef634d287d7031"></a><!-- doxytag: member="Gst::Bin::iterate_sorted" ref="a2fb47020198d6219cbef634d287d7031" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_sorted </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator for the elements in this bin in topologically sorted order. </p>
<p>This means that the elements are returned from the most downstream elements (sinks) to the sources.</p>
<p>This function is used internally to perform the state changes of the bin elements and for clock selection.</p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a>, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a6675dd72298dbd16378e51f2ec8e399c"></a><!-- doxytag: member="Gst::Bin::iterate_sources" ref="a6675dd72298dbd16378e51f2ec8e399c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;const <a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_sources </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator for all elements in the bin that have no sinkpads and have the <a class="el" href="group__gstreamermmEnums.html#ggaf326d5b7f7963a4b2dbe8cc1121adc9eaf371d463593a64041c4c0c5345a99278">Gst::ELEMENT_IS_SINK</a> flag unset. </p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a>, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="af19b363959b9de80590eb6d36c3b76f0"></a><!-- doxytag: member="Gst::Bin::iterate_sources" ref="af19b363959b9de80590eb6d36c3b76f0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGst_1_1Iterator.html">Gst::Iterator</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt; Gst::Bin::iterate_sources </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets an iterator for all elements in the bin that have no sinkpads and have the <a class="el" href="group__gstreamermmEnums.html#ggaf326d5b7f7963a4b2dbe8cc1121adc9eaf371d463593a64041c4c0c5345a99278">Gst::ELEMENT_IS_SINK</a> flag unset. </p>
<p>Each element yielded by the iterator will have its refcount increased, so unref after use.</p>
<p>MT safe. Caller owns returned value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classGst_1_1Iterator.html" title="Gst::Iterator - Class that retrieve multiple reference counted elements in a thread...">Gst::Iterator</a> of <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a>, or <code>0</code>. </dd></dl>

</div>
</div>
<a class="anchor" id="a5c0a1ff82d8aff9e151f4201ca9b3fab"></a><!-- doxytag: member="Gst::Bin::on_do_latency" ref="a5c0a1ff82d8aff9e151f4201ca9b3fab" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Gst::Bin::on_do_latency </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae743e2b41d42029e0a29c5f54f69bd99"></a><!-- doxytag: member="Gst::Bin::on_element_added" ref="ae743e2b41d42029e0a29c5f54f69bd99" args="(const Glib::RefPtr&lt; Gst::Element &gt; &amp;element)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Gst::Bin::on_element_added </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>element</em></td>
          <td>&#160;)&#160;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="afe156854b26e263e4f43d117b9fe46f3"></a><!-- doxytag: member="Gst::Bin::on_element_removed" ref="afe156854b26e263e4f43d117b9fe46f3" args="(const Glib::RefPtr&lt; Gst::Element &gt; &amp;element)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Gst::Bin::on_element_removed </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>element</em></td>
          <td>&#160;)&#160;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aaafa7ac6c5c1cefd035ac59a907a083e"></a><!-- doxytag: member="Gst::Bin::property_async_handling" ref="aaafa7ac6c5c1cefd035ac59a907a083e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1PropertyProxy__ReadOnly.html">Glib::PropertyProxy_ReadOnly</a>&lt;bool&gt; Gst::Bin::property_async_handling </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The bin will handle Asynchronous state changes. </p>
<p>You rarely need to use properties because there are get_ and set_ methods for almost all of them. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes. </dd></dl>

</div>
</div>
<a class="anchor" id="a462e601c2bfc70a24f54d565d1cf5420"></a><!-- doxytag: member="Gst::Bin::property_async_handling" ref="a462e601c2bfc70a24f54d565d1cf5420" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1PropertyProxy.html">Glib::PropertyProxy</a>&lt;bool&gt; Gst::Bin::property_async_handling </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The bin will handle Asynchronous state changes. </p>
<p>You rarely need to use properties because there are get_ and set_ methods for almost all of them. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes. </dd></dl>

</div>
</div>
<a class="anchor" id="a9eb81e20233675229028ff7ec52db7d3"></a><!-- doxytag: member="Gst::Bin::recalculate_latency" ref="a9eb81e20233675229028ff7ec52db7d3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Gst::Bin::recalculate_latency </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="classGst_1_1Query.html" title="Gst::Query - Classes used to perform queries on pads and elements.">Query</a> <em>bin</em> for the current latency using and reconfigures this latency to all the elements with a LATENCY event. </p>
<p>This method is typically called on the pipeline when a <a class="el" href="group__gstreamermmEnums.html#gga704e8de3c3f9698d3c3ca15d61190a86aaadb4767468af0c02fc5843cc8157416">Gst::MESSAGE_LATENCY</a> is posted on the bus.</p>
<p>This function simply emits the 'do-latency' signal so any custom latency calculations will be performed. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the latency could be queried and reconfigured.</dd></dl>
<dl class="since_0_10"><dt><b><a class="el" href="since_0_10.html#_since_0_10000041">Since gstreamermm 0.10:</a></b></dt><dd>.22. </dd></dl>

</div>
</div>
<a class="anchor" id="a0c7aa2684baf7a7208431b91c307e990"></a><!-- doxytag: member="Gst::Bin::remove" ref="a0c7aa2684baf7a7208431b91c307e990" args="(const Glib::RefPtr&lt; Gst::Element &gt; &amp;element)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1Bin.html">Gst::Bin</a>&gt; Gst::Bin::remove </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>element</em></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes the element from the bin, unparenting it as well. </p>
<p>Unparenting the element means that the element will be dereferenced, so if the bin holds the only reference to the element, the element will be freed in the process of removing it from the bin.</p>
<p>If the element's pads are linked to other pads, the pads will be unlinked before the element is removed from the bin.</p>
<p>MT safe.</p>
<p>element the <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> to remove Returns this <a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Gst::Bin</a> if successful, for chained calls to <a class="el" href="classGst_1_1Bin.html#a0c7aa2684baf7a7208431b91c307e990" title="Removes the element from the bin, unparenting it as well.">remove()</a>.</p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00558.html">std::runtime_error</a></em>&#160;</td><td>if the <a class="el" href="classGst_1_1Bin.html" title="Gst::Bin - Base class and element that can contain other elements.">Bin</a> does not want to remove the <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Element</a>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6ee4aab3975729d363452018bf4a8bb7"></a><!-- doxytag: member="Gst::Bin::remove_element_vfunc" ref="a6ee4aab3975729d363452018bf4a8bb7" args="(const Glib::RefPtr&lt; Gst::Element &gt; &amp;element)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Gst::Bin::remove_element_vfunc </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Element.html">Gst::Element</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>element</em></td>
          <td>&#160;)&#160;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Method to remove an element from a bin. </p>

</div>
</div>
<a class="anchor" id="aa460cad177263fc5e1d32c324b08e09d"></a><!-- doxytag: member="Gst::Bin::signal_do_latency" ref="aa460cad177263fc5e1d32c324b08e09d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1SignalProxy0.html">Glib::SignalProxy0</a>&lt; bool &gt; Gst::Bin::signal_do_latency </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="user"><dt><b>Prototype:</b></dt><dd><code>bool on_my_do_latency()</code> </dd></dl>

</div>
</div>
<a class="anchor" id="ad98180a910e42ddee1df6840341faf3b"></a><!-- doxytag: member="Gst::Bin::signal_element_added" ref="ad98180a910e42ddee1df6840341faf3b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1SignalProxy1.html">Glib::SignalProxy1</a>&lt; void,const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt;&amp; &gt; Gst::Bin::signal_element_added </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Will be emitted after the element was added to the bin. </p>
<dl class="user"><dt><b>Prototype:</b></dt><dd><code>void on_my_element_added(const Glib::RefPtr&lt;Gst::Element&gt;&amp; element)</code> </dd></dl>

</div>
</div>
<a class="anchor" id="abe365ce88608f6e578c92307b15ed9b1"></a><!-- doxytag: member="Gst::Bin::signal_element_removed" ref="abe365ce88608f6e578c92307b15ed9b1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1SignalProxy1.html">Glib::SignalProxy1</a>&lt; void,const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt;<a class="el" href="classGst_1_1Element.html">Gst::Element</a>&gt;&amp; &gt; Gst::Bin::signal_element_removed </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Will be emitted after the element was removed from the bin. </p>
<dl class="user"><dt><b>Prototype:</b></dt><dd><code>void on_my_element_removed(const Glib::RefPtr&lt;Gst::Element&gt;&amp; element)</code> </dd></dl>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a8b9470b686d2085c5c7d4ae316422adf"></a><!-- doxytag: member="Gst::Bin::wrap" ref="a8b9470b686d2085c5c7d4ae316422adf" args="(GstBin *object, bool take_copy=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>&lt; <a class="el" href="classGst_1_1Bin.html">Gst::Bin</a> &gt; wrap </td>
          <td>(</td>
          <td class="paramtype">GstBin *&#160;</td>
          <td class="paramname"> <em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"> <em>take_copy</em> = <code>false</code></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A <a class="elRef" href="../../../glibmm-2.4/reference/html/namespaceGlib.html#a671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&#160;</td><td>The C instance. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>take_copy</em>&#160;</td><td>False if the result should take ownership of the C instance. True if it should take a new copy or ref. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A C++ instance that wraps this C instance. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>gstreamermm/bin.h</li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Sep 21 22:32:54 2009 for gstreamermm by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>