- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

# baseaudiosrc.h

Go to the documentation of this file.

    00001 // -*- c++ -*-
    00002 // Generated by gtkmmproc -- DO NOT MODIFY!
    00003 #ifndef _GSTREAMERMM_BASEAUDIOSRC_H
    00004 #define _GSTREAMERMM_BASEAUDIOSRC_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/pushsrc.h>
    00030
    00031
    00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00033 typedef struct _GstBaseAudioSrc GstBaseAudioSrc;
    00034 typedef struct _GstBaseAudioSrcClass GstBaseAudioSrcClass;
    00035 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00036
    00037
    00038 namespace Gst
    00039 { class BaseAudioSrc_Class; } // namespace Gst
    00040 namespace Gst
    00041 {
    00042
    00043 class RingBuffer;
    00044
    00050 enum BaseAudioSrcSlaveMethod
    00051 {
    00052   BASE_AUDIO_SRC_SLAVE_RESAMPLE,
    00053   BASE_AUDIO_SRC_SLAVE_RETIMESTAMP,
    00054   BASE_AUDIO_SRC_SLAVE_SKEW,
    00055   BASE_AUDIO_SRC_SLAVE_NONE
    00056 };
    00057
    00058 } // namespace Gst
    00059
    00060
    00061 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00062 namespace Glib
    00063 {
    00064
    00065 template <>
    00066 class Value<Gst::BaseAudioSrcSlaveMethod> : public Glib::Value_Enum<Gst::BaseAudioSrcSlaveMethod>
    00067 {
    00068 public:
    00069   static GType value_type() G_GNUC_CONST;
    00070 };
    00071
    00072 } // namespace Glib
    00073 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00074
    00075
    00076 namespace Gst
    00077 {
    00078
    00079
    00090 class BaseAudioSrc : public Gst::PushSrc
    00091 {
    00092
    00093 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00094
    00095 public:
    00096   typedef BaseAudioSrc CppObjectType;
    00097   typedef BaseAudioSrc_Class CppClassType;
    00098   typedef GstBaseAudioSrc BaseObjectType;
    00099   typedef GstBaseAudioSrcClass BaseClassType;
    00100
    00101 private:  friend class BaseAudioSrc_Class;
    00102   static CppClassType baseaudiosrc_class_;
    00103
    00104 private:
    00105   // noncopyable
    00106   BaseAudioSrc(const BaseAudioSrc&);
    00107   BaseAudioSrc& operator=(const BaseAudioSrc&);
    00108
    00109 protected:
    00110   explicit BaseAudioSrc(const Glib::ConstructParams& construct_params);
    00111   explicit BaseAudioSrc(GstBaseAudioSrc* castitem);
    00112
    00113 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00114
    00115 public:
    00116   virtual ~BaseAudioSrc();
    00117
    00118 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00119   static GType get_type()      G_GNUC_CONST;
    00120
    00121
    00122   static GType get_base_type() G_GNUC_CONST;
    00123 #endif
    00124
    00126   GstBaseAudioSrc*       gobj()       { return reinterpret_cast<GstBaseAudioSrc*>(gobject_); }
    00127
    00129   const GstBaseAudioSrc* gobj() const { return reinterpret_cast<GstBaseAudioSrc*>(gobject_); }
    00130
    00132   GstBaseAudioSrc* gobj_copy();
    00133
    00134 private:
    00135
    00136
    00137 public:
    00140    Glib::RefPtr<Gst::Clock> get_clock();
    00141   Glib::RefPtr<const Gst::Clock> get_clock() const;
    00142
    00143
    00149   Glib::RefPtr<Gst::RingBuffer> create_ring_buffer();
    00150
    00151
    00159   void set_provide_clock(bool provide);
    00160
    00167   bool get_provide_clock() const;
    00168
    00174   void set_slave_method(Gst::BaseAudioSrcSlaveMethod method);
    00175
    00181   Gst::BaseAudioSrcSlaveMethod get_slave_method() const;
    00182
    00183   #ifdef GLIBMM_PROPERTIES_ENABLED
    00184
    00190   Glib::PropertyProxy_ReadOnly<gint64> property_actual_buffer_time() const;
    00191 #endif //#GLIBMM_PROPERTIES_ENABLED
    00192
    00193
    00194   #ifdef GLIBMM_PROPERTIES_ENABLED
    00195
    00201   Glib::PropertyProxy_ReadOnly<gint64> property_actual_latency_time() const;
    00202 #endif //#GLIBMM_PROPERTIES_ENABLED
    00203
    00204
    00205   #ifdef GLIBMM_PROPERTIES_ENABLED
    00206
    00212   Glib::PropertyProxy<gint64> property_buffer_time() ;
    00213 #endif //#GLIBMM_PROPERTIES_ENABLED
    00214
    00215 #ifdef GLIBMM_PROPERTIES_ENABLED
    00216
    00222   Glib::PropertyProxy_ReadOnly<gint64> property_buffer_time() const;
    00223 #endif //#GLIBMM_PROPERTIES_ENABLED
    00224
    00225   #ifdef GLIBMM_PROPERTIES_ENABLED
    00226
    00232   Glib::PropertyProxy<gint64> property_latency_time() ;
    00233 #endif //#GLIBMM_PROPERTIES_ENABLED
    00234
    00235 #ifdef GLIBMM_PROPERTIES_ENABLED
    00236
    00242   Glib::PropertyProxy_ReadOnly<gint64> property_latency_time() const;
    00243 #endif //#GLIBMM_PROPERTIES_ENABLED
    00244
    00245   #ifdef GLIBMM_PROPERTIES_ENABLED
    00246
    00252   Glib::PropertyProxy<bool> property_provide_clock() ;
    00253 #endif //#GLIBMM_PROPERTIES_ENABLED
    00254
    00255 #ifdef GLIBMM_PROPERTIES_ENABLED
    00256
    00262   Glib::PropertyProxy_ReadOnly<bool> property_provide_clock() const;
    00263 #endif //#GLIBMM_PROPERTIES_ENABLED
    00264
    00265
    00266   #ifdef GLIBMM_PROPERTIES_ENABLED
    00267
    00273   Glib::PropertyProxy<BaseAudioSrcSlaveMethod> property_slave_method() ;
    00274 #endif //#GLIBMM_PROPERTIES_ENABLED
    00275
    00276 #ifdef GLIBMM_PROPERTIES_ENABLED
    00277
    00283   Glib::PropertyProxy_ReadOnly<BaseAudioSrcSlaveMethod> property_slave_method() const;
    00284 #endif //#GLIBMM_PROPERTIES_ENABLED
    00285
    00286
    00289   #ifdef GLIBMM_VFUNCS_ENABLED
    00290   virtual Glib::RefPtr<Gst::RingBuffer> create_ring_buffer_vfunc();
    00291 #endif //GLIBMM_VFUNCS_ENABLED
    00292
    00293
    00294 public:
    00295
    00296 public:
    00297   //C++ methods used to invoke GTK+ virtual functions:
    00298 #ifdef GLIBMM_VFUNCS_ENABLED
    00299 #endif //GLIBMM_VFUNCS_ENABLED
    00300
    00301 protected:
    00302   //GTK+ Virtual Functions (override these to change behaviour):
    00303 #ifdef GLIBMM_VFUNCS_ENABLED
    00304 #endif //GLIBMM_VFUNCS_ENABLED
    00305
    00306   //Default Signal Handlers::
    00307 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00308 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00309
    00310
    00311 };
    00312
    00313 } // namespace Gst
    00314
    00315
    00316 namespace Glib
    00317 {
    00326   Glib::RefPtr<Gst::BaseAudioSrc> wrap(GstBaseAudioSrc* object, bool take_copy = false);
    00327 }
    00328
    00329
    00330 #endif /* _GSTREAMERMM_BASEAUDIOSRC_H */
    00331