include(base.m4)dnl
_START(queue2,gstreamermm,gstreamermm)dnl
//` Generated by generate_plugin_gmmproc_file. Don'__FT__`t edit this file.'


#include <gstreamermm/element.h>


_SECTION(SECTION_HEADER2)
_NAMESPACE(Gst)namespace Gst
{

/**` A Wrapper for the queue2 plugin.
 * Please note that, though using the underlying GObject is fine, using its C
 * <B>type</B> is not guaranteed to be API stable across releases because it is
 * not guaranteed to always remain the same.  Also, not all plug-ins are
 * available on all systems so care must be taken that they exist before they
 * are used, otherwise there will be errors and possibly a crash.
 *
 * @ingroup GstPlugins
 '*/
_CLASS_START()class Queue2
: public Gst::Element
{
  _CLASS_GOBJECT(Queue2, GstQueue2, GST_QUEUE2, Gst::Element, GstElement)
  _IS_GSTREAMERMM_PLUGIN

protected:
  Queue2();
  explicit Queue2(const Glib::ustring& name);

public:
  /**` Creates a new queue2 plugin with a unique name.
   '*/
  _CREATE_METHOD(`',`',`')dnl


  /**` Creates a new queue2 plugin with the given name.
   '*/
  _CREATE_METHOD(`const Glib::ustring& name',`const Glib::ustring& name',`name')dnl


  _PROPERTY_PROXY(current-level-buffers,current_level_buffers,guint,_ReadOnly,Current number of buffers in the queue.)dnl


  _PROPERTY_PROXY(current-level-bytes,current_level_bytes,guint,_ReadOnly,Current amount of data in the queue (bytes).)dnl


  _PROPERTY_PROXY(current-level-time,current_level_time,guint64,_ReadOnly,Current amount of data in the queue (in ns).)dnl


  _PROPERTY_PROXY(max-size-buffers,max_size_buffers,guint,,Max. number of buffers in the queue (0=disable).)dnl

_PROPERTY_PROXY(max-size-buffers,max_size_buffers,guint,_ReadOnly,Max. number of buffers in the queue (0=disable).)dnl

  _PROPERTY_PROXY(max-size-bytes,max_size_bytes,guint,,Max. amount of data in the queue (bytes, 0=disable).)dnl

_PROPERTY_PROXY(max-size-bytes,max_size_bytes,guint,_ReadOnly,Max. amount of data in the queue (bytes, 0=disable).)dnl

  _PROPERTY_PROXY(max-size-time,max_size_time,guint64,,Max. amount of data in the queue (in ns, 0=disable).)dnl

_PROPERTY_PROXY(max-size-time,max_size_time,guint64,_ReadOnly,Max. amount of data in the queue (in ns, 0=disable).)dnl

  _PROPERTY_PROXY(use-buffering,use_buffering,bool,,Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds.)dnl

_PROPERTY_PROXY(use-buffering,use_buffering,bool,_ReadOnly,Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds.)dnl

  _PROPERTY_PROXY(use-rate-estimate,use_rate_estimate,bool,,Estimate the bitrate of the stream to calculate time level.)dnl

_PROPERTY_PROXY(use-rate-estimate,use_rate_estimate,bool,_ReadOnly,Estimate the bitrate of the stream to calculate time level.)dnl

  _PROPERTY_PROXY(low-percent,low_percent,int,,Low threshold for buffering to start.)dnl

_PROPERTY_PROXY(low-percent,low_percent,int,_ReadOnly,Low threshold for buffering to start.)dnl

  _PROPERTY_PROXY(high-percent,high_percent,int,,High threshold for buffering to finish.)dnl

_PROPERTY_PROXY(high-percent,high_percent,int,_ReadOnly,High threshold for buffering to finish.)dnl

  _PROPERTY_PROXY(temp-template,temp_template,Glib::ustring,,File template to store temporary files in, should contain directory and XXXXXX. (NULL == disabled).)dnl

_PROPERTY_PROXY(temp-template,temp_template,Glib::ustring,_ReadOnly,File template to store temporary files in, should contain directory and XXXXXX. (NULL == disabled).)dnl

  _PROPERTY_PROXY(temp-location,temp_location,Glib::ustring,,Location to store temporary files in (Deprecated: Only read this property, use temp-template to configure the name template).)dnl

_PROPERTY_PROXY(temp-location,temp_location,Glib::ustring,_ReadOnly,Location to store temporary files in (Deprecated: Only read this property, use temp-template to configure the name template).)dnl

  _PROPERTY_PROXY(temp-remove,temp_remove,bool,,Remove the temp-location after use.)dnl

_PROPERTY_PROXY(temp-remove,temp_remove,bool,_ReadOnly,Remove the temp-location after use.)dnl

  _PROPERTY_PROXY(ring-buffer-max-size,ring_buffer_max_size,guint64,,Max. amount of data in the ring buffer (bytes, 0 = disabled.)dnl

_PROPERTY_PROXY(ring-buffer-max-size,ring_buffer_max_size,guint64,_ReadOnly,Max. amount of data in the ring buffer (bytes, 0 = disabled.)dnl

`'_END_CLASS_GOBJECT()
};

}`'_END_NAMESPACE() //` namespace Gst'

_SECTION(SECTION_SRC_CUSTOM)
//` Generated by generate_plugin_gmmproc_file. Don'__FT__`t edit this file.'


_PINCLUDE(gstreamermm/private/element_p.h)

extern "C"
{

GType gst_queue2_get_type()
{
  static GType type = 0;
  GstElementFactory* factory = 0;
  GstPluginFeature* feature = 0;

  if(!type)
  {
    factory = gst_element_factory_find("queue2");
    //` Make sure that the feature is actually loaded:'
    if(factory)
    {
      feature =
        gst_plugin_feature_load(GST_PLUGIN_FEATURE(factory));

      g_object_unref(factory);
      factory = GST_ELEMENT_FACTORY(feature);
      type = gst_element_factory_get_element_type(factory);
      g_object_unref(factory);
    }
  }

  return type;
}

} //` extern "C"'

_NAMESPACE(Gst)namespace Gst
{

Queue2::Queue2()
: _CONSTRUCT("name", static_cast<char*>(0))
{}

Queue2::Queue2(const Glib::ustring& name)
: _CONSTRUCT("name", name.c_str())
{}

}`'_END_NAMESPACE()
_END()
