- Main Page
- Modules
- Namespaces
- Classes
- Files

# 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 <gstreamermm/basesink.h>
    00029
    00030
    00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00032 typedef struct _GstBaseAudioSink GstBaseAudioSink;
    00033 typedef struct _GstBaseAudioSinkClass GstBaseAudioSinkClass;
    00034 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00035
    00036
    00037 namespace Gst
    00038 { class BaseAudioSink_Class; } // namespace Gst
    00039 namespace Gst
    00040 {
    00041
    00047 enum BaseAudioSinkSlaveMethod
    00048 {
    00049   BASE_AUDIO_SINK_SLAVE_RESAMPLE,
    00050   BASE_AUDIO_SINK_SLAVE_SKEW,
    00051   BASE_AUDIO_SINK_SLAVE_NONE
    00052 };
    00053
    00054 } // namespace Gst
    00055
    00056
    00057 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00058 namespace Glib
    00059 {
    00060
    00061 template <>
    00062 class Value<Gst::BaseAudioSinkSlaveMethod> : public Glib::Value_Enum<Gst::BaseAudioSinkSlaveMethod>
    00063 {
    00064 public:
    00065   static GType value_type() G_GNUC_CONST;
    00066 };
    00067
    00068 } // namespace Glib
    00069 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00070
    00071
    00072 namespace Gst
    00073 {
    00074
    00075
    00086 class BaseAudioSink : public Gst::BaseSink
    00087 {
    00088
    00089 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00090
    00091 public:
    00092   typedef BaseAudioSink CppObjectType;
    00093   typedef BaseAudioSink_Class CppClassType;
    00094   typedef GstBaseAudioSink BaseObjectType;
    00095   typedef GstBaseAudioSinkClass BaseClassType;
    00096
    00097 private:  friend class BaseAudioSink_Class;
    00098   static CppClassType baseaudiosink_class_;
    00099
    00100 private:
    00101   // noncopyable
    00102   BaseAudioSink(const BaseAudioSink&);
    00103   BaseAudioSink& operator=(const BaseAudioSink&);
    00104
    00105 protected:
    00106   explicit BaseAudioSink(const Glib::ConstructParams& construct_params);
    00107   explicit BaseAudioSink(GstBaseAudioSink* castitem);
    00108
    00109 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00110
    00111 public:
    00112   virtual ~BaseAudioSink();
    00113
    00114 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00115   static GType get_type()      G_GNUC_CONST;
    00116   static GType get_base_type() G_GNUC_CONST;
    00117 #endif
    00118
    00120   GstBaseAudioSink*       gobj()       { return reinterpret_cast<GstBaseAudioSink*>(gobject_); }
    00121
    00123   const GstBaseAudioSink* gobj() const { return reinterpret_cast<GstBaseAudioSink*>(gobject_); }
    00124
    00126   GstBaseAudioSink* gobj_copy();
    00127
    00128 private:
    00129
    00130
    00131 public:
    00134    Glib::RefPtr<Gst::Clock> get_provided_clock() const;
    00135
    00136   //TODO: _WRAP_METHOD(Glib::RefPtr<Gst::RingBuffer> create_ring_buffer(), gst_base_audio_sink_create_ringbuffer)
    00137
    00138
    00146   void set_provide_clock(bool provide);
    00147
    00154   bool get_provide_clock() const;
    00155
    00156
    00162   void set_slave_method(Gst::BaseAudioSinkSlaveMethod method);
    00163
    00169   Gst::BaseAudioSinkSlaveMethod get_slave_method() const;
    00170
    00171   //TODO: Wrap vfuncs.
    00172
    00173
    00174 public:
    00175
    00176 public:
    00177   //C++ methods used to invoke GTK+ virtual functions:
    00178 #ifdef GLIBMM_VFUNCS_ENABLED
    00179 #endif //GLIBMM_VFUNCS_ENABLED
    00180
    00181 protected:
    00182   //GTK+ Virtual Functions (override these to change behaviour):
    00183 #ifdef GLIBMM_VFUNCS_ENABLED
    00184 #endif //GLIBMM_VFUNCS_ENABLED
    00185
    00186   //Default Signal Handlers::
    00187 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00188 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00189
    00190
    00191 };
    00192
    00193 } // namespace Gst
    00194
    00195
    00196 namespace Glib
    00197 {
    00206   Glib::RefPtr<Gst::BaseAudioSink> wrap(GstBaseAudioSink* object, bool take_copy = false);
    00207 }
    00208
    00209
    00210 #endif /* _GSTREAMERMM_BASEAUDIOSINK_H */
    00211