// Generated by generate_plugin_gmmproc_file. Don't edit this file.


#include <gstreamermm/element.h>
_DEFS(gstreamermm,gst)

namespace Gst
{

/** A Wrapper for the queue2 plugin.
 * Please note that 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
 * @deprecated Plugins API is deprecated, and should not be used in a new code.
 */
class Queue2
: public Gst::Element
{
  _CLASS_GOBJECT(Queue2, GstQueue2, GST_QUEUE2_GSTREAMERMM, Gst::Element, GstElement)
  _IS_GSTREAMERMM_PLUGIN
protected:
  Queue2();
  explicit Queue2(const Glib::ustring& name);

public:
  /** Creates a new queue2 plugin with a unique name.
   */
  _WRAP_CREATE()

  /** Creates a new queue2 plugin with the given name.
   */
  _WRAP_CREATE(const Glib::ustring& name)

  _WRAP_PROPERTY("current-level-buffers", guint)
  _WRAP_PROPERTY("current-level-bytes", guint)
  _WRAP_PROPERTY("current-level-time", guint64)
  _WRAP_PROPERTY("max-size-buffers", guint)
  _WRAP_PROPERTY("max-size-bytes", guint)
  _WRAP_PROPERTY("max-size-time", guint64)
  _WRAP_PROPERTY("use-buffering", bool)
  _WRAP_PROPERTY("use-tags-bitrate", bool)
  _WRAP_PROPERTY("use-rate-estimate", bool)
  _WRAP_PROPERTY("low-percent", int)
  _WRAP_PROPERTY("high-percent", int)
  _WRAP_PROPERTY("temp-template", Glib::ustring)
  _WRAP_PROPERTY("temp-location", Glib::ustring)
  _WRAP_PROPERTY("temp-remove", bool)
  _WRAP_PROPERTY("ring-buffer-max-size", guint64)
  _WRAP_PROPERTY("avg-in-rate", gint64)
};

} // namespace Gst
