00001
00002
00003 #ifndef _GSTREAMERMM_BASEAUDIOSRC_H
00004 #define _GSTREAMERMM_BASEAUDIOSRC_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include <gstreamermm/pushsrc.h>
00029
00030
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 typedef struct _GstBaseAudioSrc GstBaseAudioSrc;
00033 typedef struct _GstBaseAudioSrcClass GstBaseAudioSrcClass;
00034 #endif
00035
00036
00037 namespace Gst
00038 { class BaseAudioSrc_Class; }
00039 namespace Gst
00040 {
00041
00047 enum BaseAudioSrcSlaveMethod
00048 {
00049 BASE_AUDIO_SRC_SLAVE_RESAMPLE,
00050 BASE_AUDIO_SRC_SLAVE_RETIMESTAMP,
00051 BASE_AUDIO_SRC_SLAVE_SKEW,
00052 BASE_AUDIO_SRC_SLAVE_NONE
00053 };
00054
00055 }
00056
00057
00058 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00059 namespace Glib
00060 {
00061
00062 template <>
00063 class Value<Gst::BaseAudioSrcSlaveMethod> : public Glib::Value_Enum<Gst::BaseAudioSrcSlaveMethod>
00064 {
00065 public:
00066 static GType value_type() G_GNUC_CONST;
00067 };
00068
00069 }
00070 #endif
00071
00072
00073 namespace Gst
00074 {
00075
00076
00087 class BaseAudioSrc : public Gst::PushSrc
00088 {
00089
00090 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00091
00092 public:
00093 typedef BaseAudioSrc CppObjectType;
00094 typedef BaseAudioSrc_Class CppClassType;
00095 typedef GstBaseAudioSrc BaseObjectType;
00096 typedef GstBaseAudioSrcClass BaseClassType;
00097
00098 private: friend class BaseAudioSrc_Class;
00099 static CppClassType baseaudiosrc_class_;
00100
00101 private:
00102
00103 BaseAudioSrc(const BaseAudioSrc&);
00104 BaseAudioSrc& operator=(const BaseAudioSrc&);
00105
00106 protected:
00107 explicit BaseAudioSrc(const Glib::ConstructParams& construct_params);
00108 explicit BaseAudioSrc(GstBaseAudioSrc* castitem);
00109
00110 #endif
00111
00112 public:
00113 virtual ~BaseAudioSrc();
00114
00115 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00116 static GType get_type() G_GNUC_CONST;
00117 static GType get_base_type() G_GNUC_CONST;
00118 #endif
00119
00121 GstBaseAudioSrc* gobj() { return reinterpret_cast<GstBaseAudioSrc*>(gobject_); }
00122
00124 const GstBaseAudioSrc* gobj() const { return reinterpret_cast<GstBaseAudioSrc*>(gobject_); }
00125
00127 GstBaseAudioSrc* gobj_copy();
00128
00129 private:
00130
00131
00132 public:
00135 Glib::RefPtr<Gst::Clock> get_clock() const;
00136
00137
00138
00139
00147 void set_provide_clock(bool provide);
00148
00155 bool get_provide_clock() const;
00156
00157 #ifdef GLIBMM_PROPERTIES_ENABLED
00158
00164 Glib::PropertyProxy_ReadOnly<gint64> property_actual_buffer_time() const;
00165 #endif //#GLIBMM_PROPERTIES_ENABLED
00166
00167
00168 #ifdef GLIBMM_PROPERTIES_ENABLED
00169
00175 Glib::PropertyProxy_ReadOnly<gint64> property_actual_latency_time() const;
00176 #endif //#GLIBMM_PROPERTIES_ENABLED
00177
00178
00179 #ifdef GLIBMM_PROPERTIES_ENABLED
00180
00186 Glib::PropertyProxy<gint64> property_buffer_time() ;
00187 #endif //#GLIBMM_PROPERTIES_ENABLED
00188
00189 #ifdef GLIBMM_PROPERTIES_ENABLED
00190
00196 Glib::PropertyProxy_ReadOnly<gint64> property_buffer_time() const;
00197 #endif //#GLIBMM_PROPERTIES_ENABLED
00198
00199 #ifdef GLIBMM_PROPERTIES_ENABLED
00200
00206 Glib::PropertyProxy<gint64> property_latency_time() ;
00207 #endif //#GLIBMM_PROPERTIES_ENABLED
00208
00209 #ifdef GLIBMM_PROPERTIES_ENABLED
00210
00216 Glib::PropertyProxy_ReadOnly<gint64> property_latency_time() const;
00217 #endif //#GLIBMM_PROPERTIES_ENABLED
00218
00219 #ifdef GLIBMM_PROPERTIES_ENABLED
00220
00226 Glib::PropertyProxy<bool> property_provide_clock() ;
00227 #endif //#GLIBMM_PROPERTIES_ENABLED
00228
00229 #ifdef GLIBMM_PROPERTIES_ENABLED
00230
00236 Glib::PropertyProxy_ReadOnly<bool> property_provide_clock() const;
00237 #endif //#GLIBMM_PROPERTIES_ENABLED
00238
00239
00240 #ifdef GLIBMM_PROPERTIES_ENABLED
00241
00247 Glib::PropertyProxy<BaseAudioSrcSlaveMethod> property_slave_method() ;
00248 #endif //#GLIBMM_PROPERTIES_ENABLED
00249
00250 #ifdef GLIBMM_PROPERTIES_ENABLED
00251
00257 Glib::PropertyProxy_ReadOnly<BaseAudioSrcSlaveMethod> property_slave_method() const;
00258 #endif //#GLIBMM_PROPERTIES_ENABLED
00259
00260
00261
00262
00263
00264 public:
00265
00266 public:
00267
00268 #ifdef GLIBMM_VFUNCS_ENABLED
00269 #endif //GLIBMM_VFUNCS_ENABLED
00270
00271 protected:
00272
00273 #ifdef GLIBMM_VFUNCS_ENABLED
00274 #endif //GLIBMM_VFUNCS_ENABLED
00275
00276
00277 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00278 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00279
00280
00281 };
00282
00283 }
00284
00285
00286 namespace Glib
00287 {
00296 Glib::RefPtr<Gst::BaseAudioSrc> wrap(GstBaseAudioSrc* object, bool take_copy = false);
00297 }
00298
00299
00300 #endif
00301