00001
00002
00003 #ifndef _GSTREAMERBASEMM_AUDIOCLOCK_H
00004 #define _GSTREAMERBASEMM_AUDIOCLOCK_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
00029
00030 #include <gstreamermm/systemclock.h>
00031
00032
00033 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00034 typedef struct _GstAudioClock GstAudioClock;
00035 typedef struct _GstAudioClockClass GstAudioClockClass;
00036 #endif
00037
00038
00039 namespace GstBase
00040 { class AudioClock_Class; }
00041 namespace GstBase
00042 {
00043
00054 class AudioClock : public Gst::SystemClock
00055 {
00056
00057 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00058
00059 public:
00060 typedef AudioClock CppObjectType;
00061 typedef AudioClock_Class CppClassType;
00062 typedef GstAudioClock BaseObjectType;
00063 typedef GstAudioClockClass BaseClassType;
00064
00065 private: friend class AudioClock_Class;
00066 static CppClassType audioclock_class_;
00067
00068 private:
00069
00070 AudioClock(const AudioClock&);
00071 AudioClock& operator=(const AudioClock&);
00072
00073 protected:
00074 explicit AudioClock(const Glib::ConstructParams& construct_params);
00075 explicit AudioClock(GstAudioClock* castitem);
00076
00077 #endif
00078
00079 public:
00080 virtual ~AudioClock();
00081
00082 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00083 static GType get_type() G_GNUC_CONST;
00084 static GType get_base_type() G_GNUC_CONST;
00085 #endif
00086
00088 GstAudioClock* gobj() { return reinterpret_cast<GstAudioClock*>(gobject_); }
00089
00091 const GstAudioClock* gobj() const { return reinterpret_cast<GstAudioClock*>(gobject_); }
00092
00094 GstAudioClock* gobj_copy();
00095
00096 private:
00097
00098
00099 public:
00108 typedef sigc::slot< Gst::ClockTime, const Glib::RefPtr<Gst::Clock>& > SlotGetTime;
00109
00110 protected:
00111 AudioClock(const Glib::ustring& name, const SlotGetTime& time_slot);
00112
00113 public:
00124 static Glib::RefPtr<AudioClock> create(const Glib::ustring& name, const SlotGetTime& time_slot);
00125 ;
00126
00127 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00128 private:
00129 SlotGetTime* slot;
00130 bool _slot_set(bool mark_set = false);
00131 #endif
00132
00133
00134 public:
00135
00136 public:
00137
00138 #ifdef GLIBMM_VFUNCS_ENABLED
00139 #endif //GLIBMM_VFUNCS_ENABLED
00140
00141 protected:
00142
00143 #ifdef GLIBMM_VFUNCS_ENABLED
00144 #endif //GLIBMM_VFUNCS_ENABLED
00145
00146
00147 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00148 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00149
00150
00151 };
00152
00153 }
00154
00155
00156 namespace Glib
00157 {
00166 Glib::RefPtr<GstBase::AudioClock> wrap(GstAudioClock* object, bool take_copy = false);
00167 }
00168
00169
00170 #endif
00171