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


#include <gstreamermm/bin.h>
#include <gstreamermm/encodingprofile.h>
#include <gstreamermm/pad.h>
#include <gstreamermm/caps.h>
_DEFS(gstreamermm,gst)

namespace Gst
{

_WRAP_ENUM(EncodeBinFlags,GstEncodeBinFlags)
_CONV_ENUM(Gst,EncodeBinFlags)

/** A Wrapper for the encodebin 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 EncodeBin
: public Gst::Bin
{
  _CLASS_GOBJECT(EncodeBin, GstEncodeBin, GST_ENCODE_BIN_GSTREAMERMM, Gst::Bin, GstBin)
  _IS_GSTREAMERMM_PLUGIN
protected:
  EncodeBin();
  explicit EncodeBin(const Glib::ustring& name);

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

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

  /** This is a convenience method for the action signal
   * signal_request_pad().
   */
  Glib::RefPtr<Gst::Pad> request_pad(const Glib::RefPtr<Gst::Caps>& arg0);

  /** This is a convenience method for the action signal
   * signal_request_profile_pad().
   */
  Glib::RefPtr<Gst::Pad> request_profile_pad(const Glib::ustring& arg0);


  _WRAP_PROPERTY("profile", Glib::RefPtr<Gst::EncodingProfile>)
  _WRAP_PROPERTY("queue-buffers-max", guint)
  _WRAP_PROPERTY("queue-bytes-max", guint)
  _WRAP_PROPERTY("queue-time-max", guint64)
  _WRAP_PROPERTY("audio-jitter-tolerance", guint64)
  _WRAP_PROPERTY("avoid-reencoding", bool)
  _WRAP_PROPERTY("flags", Gst::EncodeBinFlags)


#m4 _CONVERSION(`GstPad*', `Glib::RefPtr<Gst::Pad>', `Glib::wrap($3)')
#m4 _CONVERSION(`GstCaps*', `const Glib::RefPtr<Gst::Caps>&', `Glib::wrap($3, true)')
  /** This is an action signal which is designed to be used as a method.  To 
   * do that, use its convenience method, request_pad().
   */
  _WRAP_SIGNAL(Glib::RefPtr<Gst::Pad> request_pad(const Glib::RefPtr<Gst::Caps>& arg0), "request-pad", no_default_handler)


#m4 _CONVERSION(`GstPad*', `Glib::RefPtr<Gst::Pad>', `Glib::wrap($3)')
  /** This is an action signal which is designed to be used as a method.  To 
   * do that, use its convenience method, request_profile_pad().
   */
  _WRAP_SIGNAL(Glib::RefPtr<Gst::Pad> request_profile_pad(const Glib::ustring& arg0), "request-profile-pad", no_default_handler)

};

} // namespace Gst
