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


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

namespace Gst
{

_WRAP_ENUM(CdParanoiaMode,GstCdParanoiaMode)
_CONV_ENUM(Gst,CdParanoiaMode)

/** A Wrapper for the cdparanoiasrc 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 CdParanoiaSrc
: public Gst::PushSrc
{
  _CLASS_GOBJECT(CdParanoiaSrc, GstCdParanoiaSrc, GST_CD_PARANOIA_SRC_GSTREAMERMM, Gst::PushSrc, GstPushSrc)
  _IS_GSTREAMERMM_PLUGIN
  _NO_WRAP_INIT_REGISTRATION
  _CUSTOM_WRAP_FUNCTION

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

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

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

  _WRAP_PROPERTY("read-speed", int)
  _WRAP_PROPERTY("paranoia-mode", Gst::CdParanoiaMode)
  _WRAP_PROPERTY("search-overlap", int)
  _WRAP_PROPERTY("generic-device", Glib::ustring)
  _WRAP_PROPERTY("cache-size", int)

  _WRAP_SIGNAL(void transport_error(int arg0), "transport-error", no_default_handler)
  _WRAP_SIGNAL(void uncorrected_error(int arg0), "uncorrected-error", no_default_handler)
};

} // namespace Gst
