00001
00002
00003 #ifndef _GSTREAMERMM_MULTIQUEUE_H
00004 #define _GSTREAMERMM_MULTIQUEUE_H
00005
00006
00007 #include <glibmm.h>
00008
00009 #include <gstreamermm/element.h>
00010
00011
00012 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00013 typedef struct _GstMultiQueue GstMultiQueue;
00014 typedef struct _GstMultiQueueClass GstMultiQueueClass;
00015 #endif
00016
00017
00018 namespace Gst
00019 { class MultiQueue_Class; }
00020 namespace Gst
00021 {
00022
00023
00033 class MultiQueue
00034 : public Gst::Element
00035 {
00036
00037 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00038
00039 public:
00040 typedef MultiQueue CppObjectType;
00041 typedef MultiQueue_Class CppClassType;
00042 typedef GstMultiQueue BaseObjectType;
00043 typedef GstMultiQueueClass BaseClassType;
00044
00045 private: friend class MultiQueue_Class;
00046 static CppClassType multiqueue_class_;
00047
00048 private:
00049
00050 MultiQueue(const MultiQueue&);
00051 MultiQueue& operator=(const MultiQueue&);
00052
00053 protected:
00054 explicit MultiQueue(const Glib::ConstructParams& construct_params);
00055 explicit MultiQueue(GstMultiQueue* castitem);
00056
00057 #endif
00058
00059 public:
00060 virtual ~MultiQueue();
00061
00062 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00063 static GType get_type() G_GNUC_CONST;
00064 static GType get_base_type() G_GNUC_CONST;
00065 #endif
00066
00068 GstMultiQueue* gobj() { return reinterpret_cast<GstMultiQueue*>(gobject_); }
00069
00071 const GstMultiQueue* gobj() const { return reinterpret_cast<GstMultiQueue*>(gobject_); }
00072
00074 GstMultiQueue* gobj_copy();
00075
00076 private:
00077
00078
00079 protected:
00080 MultiQueue();
00081 MultiQueue(const Glib::ustring& name);
00082
00083 public:
00087 static Glib::RefPtr<MultiQueue> create();
00088
00089
00093 static Glib::RefPtr<MultiQueue> create(const Glib::ustring& name);
00094
00095
00096 #ifdef GLIBMM_PROPERTIES_ENABLED
00097
00103 Glib::PropertyProxy<guint> property_extra_size_bytes() ;
00104 #endif //#GLIBMM_PROPERTIES_ENABLED
00105
00106 #ifdef GLIBMM_PROPERTIES_ENABLED
00107
00113 Glib::PropertyProxy_ReadOnly<guint> property_extra_size_bytes() const;
00114 #endif //#GLIBMM_PROPERTIES_ENABLED
00115
00116 #ifdef GLIBMM_PROPERTIES_ENABLED
00117
00123 Glib::PropertyProxy<guint> property_extra_size_buffers() ;
00124 #endif //#GLIBMM_PROPERTIES_ENABLED
00125
00126 #ifdef GLIBMM_PROPERTIES_ENABLED
00127
00133 Glib::PropertyProxy_ReadOnly<guint> property_extra_size_buffers() const;
00134 #endif //#GLIBMM_PROPERTIES_ENABLED
00135
00136 #ifdef GLIBMM_PROPERTIES_ENABLED
00137
00143 Glib::PropertyProxy<guint64> property_extra_size_time() ;
00144 #endif //#GLIBMM_PROPERTIES_ENABLED
00145
00146 #ifdef GLIBMM_PROPERTIES_ENABLED
00147
00153 Glib::PropertyProxy_ReadOnly<guint64> property_extra_size_time() const;
00154 #endif //#GLIBMM_PROPERTIES_ENABLED
00155
00156 #ifdef GLIBMM_PROPERTIES_ENABLED
00157
00163 Glib::PropertyProxy<guint> property_max_size_bytes() ;
00164 #endif //#GLIBMM_PROPERTIES_ENABLED
00165
00166 #ifdef GLIBMM_PROPERTIES_ENABLED
00167
00173 Glib::PropertyProxy_ReadOnly<guint> property_max_size_bytes() const;
00174 #endif //#GLIBMM_PROPERTIES_ENABLED
00175
00176 #ifdef GLIBMM_PROPERTIES_ENABLED
00177
00183 Glib::PropertyProxy<guint> property_max_size_buffers() ;
00184 #endif //#GLIBMM_PROPERTIES_ENABLED
00185
00186 #ifdef GLIBMM_PROPERTIES_ENABLED
00187
00193 Glib::PropertyProxy_ReadOnly<guint> property_max_size_buffers() const;
00194 #endif //#GLIBMM_PROPERTIES_ENABLED
00195
00196 #ifdef GLIBMM_PROPERTIES_ENABLED
00197
00203 Glib::PropertyProxy<guint64> property_max_size_time() ;
00204 #endif //#GLIBMM_PROPERTIES_ENABLED
00205
00206 #ifdef GLIBMM_PROPERTIES_ENABLED
00207
00213 Glib::PropertyProxy_ReadOnly<guint64> property_max_size_time() const;
00214 #endif //#GLIBMM_PROPERTIES_ENABLED
00215
00216
00222 Glib::SignalProxy0< void > signal_underrun();
00223
00224
00230 Glib::SignalProxy0< void > signal_overrun();
00231
00232
00233 public:
00234
00235 public:
00236
00237 #ifdef GLIBMM_VFUNCS_ENABLED
00238 #endif //GLIBMM_VFUNCS_ENABLED
00239
00240 protected:
00241
00242 #ifdef GLIBMM_VFUNCS_ENABLED
00243 #endif //GLIBMM_VFUNCS_ENABLED
00244
00245
00246 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00247 virtual void on_underrun();
00248 virtual void on_overrun();
00249 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00250
00251
00252 };
00253
00254 }
00255
00256
00257 namespace Glib
00258 {
00267 Glib::RefPtr<Gst::MultiQueue> wrap(GstMultiQueue* object, bool take_copy = false);
00268 }
00269
00270
00271 #endif
00272