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


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

namespace Gst
{

_WRAP_ENUM(AudioTestSrcWave,GstAudioTestSrcWave)
_CONV_ENUM(Gst,AudioTestSrcWave)

/** A Wrapper for the audiotestsrc 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 AudioTestSrc
: public Gst::BaseSrc
{
  _CLASS_GOBJECT(AudioTestSrc, GstAudioTestSrc, GST_AUDIO_TEST_SRC_GSTREAMERMM, Gst::BaseSrc, GstBaseSrc)
  _IS_GSTREAMERMM_PLUGIN
  _NO_WRAP_INIT_REGISTRATION
  _CUSTOM_WRAP_FUNCTION

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

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

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

  _WRAP_PROPERTY("samplesperbuffer", int)
  _WRAP_PROPERTY("wave", Gst::AudioTestSrcWave)
  _WRAP_PROPERTY("freq", double)
  _WRAP_PROPERTY("volume", double)
  _WRAP_PROPERTY("is-live", bool)
  _WRAP_PROPERTY("timestamp-offset", gint64)
  _WRAP_PROPERTY("can-activate-push", bool)
  _WRAP_PROPERTY("can-activate-pull", bool)
};

} // namespace Gst
