- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

# 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
    00120
    00121   static GType get_base_type() G_GNUC_CONST;
    00122 #endif
    00123
    00125   GstBaseAudioSink*       gobj()       { return reinterpret_cast<GstBaseAudioSink*>(gobject_); }
    00126
    00128   const GstBaseAudioSink* gobj() const { return reinterpret_cast<GstBaseAudioSink*>(gobject_); }
    00129
    00131   GstBaseAudioSink* gobj_copy();
    00132
    00133 private:
    00134
    00135
    00136 public:
    00139    Glib::RefPtr<Gst::Clock> get_provided_clock();
    00140   Glib::RefPtr<const Gst::Clock> get_provided_clock() const;
    00141
    00142
    00148   Glib::RefPtr<Gst::RingBuffer> create_ring_buffer();
    00149
    00157   void set_provide_clock(bool provide);
    00158
    00165   bool get_provide_clock() const;
    00166
    00167
    00173   void set_slave_method(Gst::BaseAudioSinkSlaveMethod method);
    00174
    00180   Gst::BaseAudioSinkSlaveMethod get_slave_method() const;
    00181
    00184   #ifdef GLIBMM_VFUNCS_ENABLED
    00185   virtual Glib::RefPtr<Gst::RingBuffer> create_ring_buffer_vfunc();
    00186 #endif //GLIBMM_VFUNCS_ENABLED
    00187
    00188
    00189 public:
    00190
    00191 public:
    00192   //C++ methods used to invoke GTK+ virtual functions:
    00193 #ifdef GLIBMM_VFUNCS_ENABLED
    00194 #endif //GLIBMM_VFUNCS_ENABLED
    00195
    00196 protected:
    00197   //GTK+ Virtual Functions (override these to change behaviour):
    00198 #ifdef GLIBMM_VFUNCS_ENABLED
    00199 #endif //GLIBMM_VFUNCS_ENABLED
    00200
    00201   //Default Signal Handlers::
    00202 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00203 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00204
    00205
    00206 };
    00207
    00208 } // namespace Gst
    00209
    00210
    00211 namespace Glib
    00212 {
    00221   Glib::RefPtr<Gst::BaseAudioSink> wrap(GstBaseAudioSink* object, bool take_copy = false);
    00222 }
    00223
    00224
    00225 #endif /* _GSTREAMERMM_BASEAUDIOSINK_H */
    00226