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


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

namespace Gst
{

/** A Wrapper for the identity 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
 */
class Identity
: public Gst::BaseTransform
{
  _CLASS_GOBJECT(Identity, GstIdentity, GST_IDENTITY_GSTREAMERMM, Gst::BaseTransform, GstBaseTransform)
  _IS_GSTREAMERMM_PLUGIN
  _NO_WRAP_INIT_REGISTRATION
  _CUSTOM_WRAP_FUNCTION

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

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

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

  _WRAP_PROPERTY("sleep-time", guint)
  _WRAP_PROPERTY("error-after", int)
  _WRAP_PROPERTY("drop-probability", float)
  _WRAP_PROPERTY("datarate", int)
  _WRAP_PROPERTY("silent", bool)
  _WRAP_PROPERTY("single-segment", bool)
  _WRAP_PROPERTY("last-message", Glib::ustring)
  _WRAP_PROPERTY("dump", bool)
  _WRAP_PROPERTY("sync", bool)
  _WRAP_PROPERTY("check-imperfect-timestamp", bool)
  _WRAP_PROPERTY("check-imperfect-offset", bool)
  _WRAP_PROPERTY("signal-handoffs", bool)

#m4 _CONVERSION(`GstBuffer*', `const Glib::RefPtr<Gst::Buffer>&', `Glib::wrap($3, true)')
  _WRAP_SIGNAL(void handoff(const Glib::RefPtr<Gst::Buffer>& arg0), "handoff", no_default_handler)
};

} // namespace Gst
