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   static GType get_base_type() G_GNUC_CONST;
00097 #endif
00098 
00100   GstAudioSink*       gobj()       { return reinterpret_cast<GstAudioSink*>(gobject_); }
00101 
00103   const GstAudioSink* gobj() const { return reinterpret_cast<GstAudioSink*>(gobject_); }
00104 
00106   GstAudioSink* gobj_copy();
00107 
00108 private:
00109 
00110 
00111 public:
00112   //TODO: Some boolean vfuncs cause strange incorrect functionality when their
00113   //callbacks return false with the last "return RType()" line.  Make sure this
00114   //one doesn't cause problems and implement later.
00116    //* point. This function is also used to check if the device is available.
00117    //*/
00118   //_WRAP_VFUNC(bool open(), "open")
00119 
00120 #ifdef GLIBMM_VFUNCS_ENABLED
00121 
00123   virtual bool prepare_vfunc(const Gst::RingBufferSpec& spec);
00124 #endif //GLIBMM_VFUNCS_ENABLED
00125 
00126   //TODO: Some boolean vfuncs cause strange incorrect functionality when their
00127   //callbacks return false with the last "return RType()" line.  Make sure this
00128   //one doesn't cause problems and implement later.
00130    //*/
00131   //_WRAP_VFUNC(bool unprepare(), "unprepare")
00132 
00133   //TODO: Some boolean vfuncs cause strange incorrect functionality when their
00134   //callbacks return false with the last "return RType()" line.  Make sure this
00135   //one doesn't cause problems and implement later.
00137    //*/
00138   //_WRAP_VFUNC(bool close(), "close")
00139 
00140  #ifdef GLIBMM_VFUNCS_ENABLED
00141 
00143   virtual guint write_vfunc(const void* data, guint length);
00144 #endif //GLIBMM_VFUNCS_ENABLED
00145 
00149   #ifdef GLIBMM_VFUNCS_ENABLED
00150   virtual guint get_delay_vfunc();
00151 #endif //GLIBMM_VFUNCS_ENABLED
00152 
00153 
00157   #ifdef GLIBMM_VFUNCS_ENABLED
00158   virtual void reset_vfunc();
00159 #endif //GLIBMM_VFUNCS_ENABLED
00160 
00161 
00162 protected:
00163 
00164   
00165 public:
00166 
00167 public:
00168   //C++ methods used to invoke GTK+ virtual functions:
00169 #ifdef GLIBMM_VFUNCS_ENABLED
00170 #endif //GLIBMM_VFUNCS_ENABLED
00171 
00172 protected:
00173   //GTK+ Virtual Functions (override these to change behaviour):
00174 #ifdef GLIBMM_VFUNCS_ENABLED
00175 #endif //GLIBMM_VFUNCS_ENABLED
00176 
00177   //Default Signal Handlers::
00178 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00179 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00180 
00181 
00182 };
00183 
00184 } // namespace Gst
00185 
00186 
00187 namespace Glib
00188 {
00197   Glib::RefPtr<Gst::AudioSink> wrap(GstAudioSink* object, bool take_copy = false);
00198 }
00199 
00200 
00201 #endif /* _GSTREAMERMM_AUDIOSINK_H */
00202 

Generated on Wed Aug 19 15:53:12 2009 for gstreamermm by  doxygen 1.5.4