baseaudiosink.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _GSTREAMERMM_BASEAUDIOSINK_H
00004 #define _GSTREAMERMM_BASEAUDIOSINK_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/gstringbuffer.h>
00029 #include <gstreamermm/basesink.h>
00030 
00031 
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstBaseAudioSink GstBaseAudioSink;
00034 typedef struct _GstBaseAudioSinkClass GstBaseAudioSinkClass;
00035 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00036 
00037 
00038 namespace Gst
00039 { class BaseAudioSink_Class; } // namespace Gst
00040 namespace Gst
00041 {
00042 
00043 class RingBuffer;
00044 
00050 enum BaseAudioSinkSlaveMethod
00051 {
00052   BASE_AUDIO_SINK_SLAVE_RESAMPLE,
00053   BASE_AUDIO_SINK_SLAVE_SKEW,
00054   BASE_AUDIO_SINK_SLAVE_NONE
00055 };
00056 
00057 } // namespace Gst
00058 
00059 
00060 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00061 namespace Glib
00062 {
00063 
00064 template <>
00065 class Value<Gst::BaseAudioSinkSlaveMethod> : public Glib::Value_Enum<Gst::BaseAudioSinkSlaveMethod>
00066 {
00067 public:
00068   static GType value_type() G_GNUC_CONST;
00069 };
00070 
00071 } // namespace Glib
00072 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00073 
00074 
00075 namespace Gst
00076 {
00077 
00078 
00089 class BaseAudioSink : public Gst::BaseSink
00090 {
00091   
00092 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00093 
00094 public:
00095   typedef BaseAudioSink CppObjectType;
00096   typedef BaseAudioSink_Class CppClassType;
00097   typedef GstBaseAudioSink BaseObjectType;
00098   typedef GstBaseAudioSinkClass BaseClassType;
00099 
00100 private:  friend class BaseAudioSink_Class;
00101   static CppClassType baseaudiosink_class_;
00102 
00103 private:
00104   // noncopyable
00105   BaseAudioSink(const BaseAudioSink&);
00106   BaseAudioSink& operator=(const BaseAudioSink&);
00107 
00108 protected:
00109   explicit BaseAudioSink(const Glib::ConstructParams& construct_params);
00110   explicit BaseAudioSink(GstBaseAudioSink* castitem);
00111 
00112 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00113 
00114 public:
00115   virtual ~BaseAudioSink();
00116 
00117 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00118   static GType get_type()      G_GNUC_CONST;
00119   static GType get_base_type() G_GNUC_CONST;
00120 #endif
00121 
00123   GstBaseAudioSink*       gobj()       { return reinterpret_cast<GstBaseAudioSink*>(gobject_); }
00124 
00126   const GstBaseAudioSink* gobj() const { return reinterpret_cast<GstBaseAudioSink*>(gobject_); }
00127 
00129   GstBaseAudioSink* gobj_copy();
00130 
00131 private:
00132 
00133 
00134 public:
00137    Glib::RefPtr<Gst::Clock> get_provided_clock();
00138   Glib::RefPtr<const Gst::Clock> get_provided_clock() const;
00139  
00140   
00146   Glib::RefPtr<Gst::RingBuffer> create_ring_buffer();
00147   
00155   void set_provide_clock(bool provide);
00156   
00163   bool get_provide_clock() const;
00164 
00165   
00171   void set_slave_method(Gst::BaseAudioSinkSlaveMethod method);
00172   
00178   Gst::BaseAudioSinkSlaveMethod get_slave_method() const;
00179 
00182   #ifdef GLIBMM_VFUNCS_ENABLED
00183   virtual Glib::RefPtr<Gst::RingBuffer> create_ring_buffer_vfunc();
00184 #endif //GLIBMM_VFUNCS_ENABLED
00185 
00186 
00187 public:
00188 
00189 public:
00190   //C++ methods used to invoke GTK+ virtual functions:
00191 #ifdef GLIBMM_VFUNCS_ENABLED
00192 #endif //GLIBMM_VFUNCS_ENABLED
00193 
00194 protected:
00195   //GTK+ Virtual Functions (override these to change behaviour):
00196 #ifdef GLIBMM_VFUNCS_ENABLED
00197 #endif //GLIBMM_VFUNCS_ENABLED
00198 
00199   //Default Signal Handlers::
00200 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00201 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00202 
00203 
00204 };
00205 
00206 } // namespace Gst
00207 
00208 
00209 namespace Glib
00210 {
00219   Glib::RefPtr<Gst::BaseAudioSink> wrap(GstBaseAudioSink* object, bool take_copy = false);
00220 }
00221 
00222 
00223 #endif /* _GSTREAMERMM_BASEAUDIOSINK_H */
00224 

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