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