- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

# audiosink.h

Go to the documentation of this file.

    00001 // -*- c++ -*-
    00002 // Generated by gtkmmproc -- DO NOT MODIFY!
    00003 #ifndef _GSTREAMERMM_AUDIOSINK_H
    00004 #define _GSTREAMERMM_AUDIOSINK_H
    00005
    00006
    00007 #include <glibmm.h>
    00008
    00009 /* gstreamermm - a C++ wrapper for gstreamer
    00010  *
    00011  * Copyright 2008 The gstreamermm Development Team
    00012  *
    00013  * This library is free software; you can redistribute it and/or
    00014  * modify it under the terms of the GNU Lesser General Public
    00015  * License as published by the Free Software Foundation; either
    00016  * version 2.1 of the License, or (at your option) any later version.
    00017  *
    00018  * This library is distributed in the hope that it will be useful,
    00019  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00020  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00021  * Lesser General Public License for more details.
    00022  *
    00023  * You should have received a copy of the GNU Lesser General Public
    00024  * License along with this library; if not, write to the Free
    00025  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    00026  */
    00027
    00028 #include <gst/audio/gstaudiosink.h>
    00029 #include <gstreamermm/baseaudiosink.h>
    00030 #include <gstreamermm/ringbuffer.h>
    00031
    00032
    00033 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00034 typedef struct _GstAudioSink GstAudioSink;
    00035 typedef struct _GstAudioSinkClass GstAudioSinkClass;
    00036 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00037
    00038
    00039 namespace Gst
    00040 { class AudioSink_Class; } // namespace Gst
    00041 namespace Gst
    00042 {
    00043
    00066 class AudioSink : public Gst::BaseAudioSink
    00067 {
    00068
    00069 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00070
    00071 public:
    00072   typedef AudioSink CppObjectType;
    00073   typedef AudioSink_Class CppClassType;
    00074   typedef GstAudioSink BaseObjectType;
    00075   typedef GstAudioSinkClass BaseClassType;
    00076
    00077 private:  friend class AudioSink_Class;
    00078   static CppClassType audiosink_class_;
    00079
    00080 private:
    00081   // noncopyable
    00082   AudioSink(const AudioSink&);
    00083   AudioSink& operator=(const AudioSink&);
    00084
    00085 protected:
    00086   explicit AudioSink(const Glib::ConstructParams& construct_params);
    00087   explicit AudioSink(GstAudioSink* castitem);
    00088
    00089 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00090
    00091 public:
    00092   virtual ~AudioSink();
    00093
    00094 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00095   static GType get_type()      G_GNUC_CONST;
    00096
    00097
    00098   static GType get_base_type() G_GNUC_CONST;
    00099 #endif
    00100
    00102   GstAudioSink*       gobj()       { return reinterpret_cast<GstAudioSink*>(gobject_); }
    00103
    00105   const GstAudioSink* gobj() const { return reinterpret_cast<GstAudioSink*>(gobject_); }
    00106
    00108   GstAudioSink* gobj_copy();
    00109
    00110 private:
    00111
    00112
    00113 public:
    00114   //TODO: Some boolean vfuncs cause strange incorrect functionality when their
    00115   //callbacks return false with the last "return RType()" line.  Make sure this
    00116   //one doesn't cause problems and implement later.
    00118    //* point. This function is also used to check if the device is available.
    00119    //*/
    00120   //_WRAP_VFUNC(bool open(), "open")
    00121
    00122 #ifdef GLIBMM_VFUNCS_ENABLED
    00123
    00125   virtual bool prepare_vfunc(const Gst::RingBufferSpec& spec);
    00126 #endif //GLIBMM_VFUNCS_ENABLED
    00127
    00128   //TODO: Some boolean vfuncs cause strange incorrect functionality when their
    00129   //callbacks return false with the last "return RType()" line.  Make sure this
    00130   //one doesn't cause problems and implement later.
    00132    //*/
    00133   //_WRAP_VFUNC(bool unprepare(), "unprepare")
    00134
    00135   //TODO: Some boolean vfuncs cause strange incorrect functionality when their
    00136   //callbacks return false with the last "return RType()" line.  Make sure this
    00137   //one doesn't cause problems and implement later.
    00139    //*/
    00140   //_WRAP_VFUNC(bool close(), "close")
    00141
    00142  #ifdef GLIBMM_VFUNCS_ENABLED
    00143
    00145   virtual guint write_vfunc(const void* data, guint length);
    00146 #endif //GLIBMM_VFUNCS_ENABLED
    00147
    00151   #ifdef GLIBMM_VFUNCS_ENABLED
    00152   virtual guint get_delay_vfunc();
    00153 #endif //GLIBMM_VFUNCS_ENABLED
    00154
    00155
    00159   #ifdef GLIBMM_VFUNCS_ENABLED
    00160   virtual void reset_vfunc();
    00161 #endif //GLIBMM_VFUNCS_ENABLED
    00162
    00163
    00164 protected:
    00165
    00166
    00167 public:
    00168
    00169 public:
    00170   //C++ methods used to invoke GTK+ virtual functions:
    00171 #ifdef GLIBMM_VFUNCS_ENABLED
    00172 #endif //GLIBMM_VFUNCS_ENABLED
    00173
    00174 protected:
    00175   //GTK+ Virtual Functions (override these to change behaviour):
    00176 #ifdef GLIBMM_VFUNCS_ENABLED
    00177 #endif //GLIBMM_VFUNCS_ENABLED
    00178
    00179   //Default Signal Handlers::
    00180 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00181 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00182
    00183
    00184 };
    00185
    00186 } // namespace Gst
    00187
    00188
    00189 namespace Glib
    00190 {
    00199   Glib::RefPtr<Gst::AudioSink> wrap(GstAudioSink* object, bool take_copy = false);
    00200 }
    00201
    00202
    00203 #endif /* _GSTREAMERMM_AUDIOSINK_H */
    00204