00001
00002
00003 #ifndef _GSTREAMERMM_BASEAUDIOSINK_H
00004 #define _GSTREAMERMM_BASEAUDIOSINK_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/basesink.h>
00029
00030
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 typedef struct _GstBaseAudioSink GstBaseAudioSink;
00033 typedef struct _GstBaseAudioSinkClass GstBaseAudioSinkClass;
00034 #endif
00035
00036
00037 namespace Gst
00038 { class BaseAudioSink_Class; }
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 }
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 }
00069 #endif
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
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
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
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
00172
00173
00174 public:
00175
00176 public:
00177
00178 #ifdef GLIBMM_VFUNCS_ENABLED
00179 #endif //GLIBMM_VFUNCS_ENABLED
00180
00181 protected:
00182
00183 #ifdef GLIBMM_VFUNCS_ENABLED
00184 #endif //GLIBMM_VFUNCS_ENABLED
00185
00186
00187 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00188 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00189
00190
00191 };
00192
00193 }
00194
00195
00196 namespace Glib
00197 {
00206 Glib::RefPtr<Gst::BaseAudioSink> wrap(GstBaseAudioSink* object, bool take_copy = false);
00207 }
00208
00209
00210 #endif
00211