00001
00002
00003 #ifndef _GSTREAMERMM_TEE_H
00004 #define _GSTREAMERMM_TEE_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/element.h>
00029 #include <gstreamermm/pad.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstTee GstTee;
00034 typedef struct _GstTeeClass GstTeeClass;
00035 #endif
00036
00037
00038 namespace Gst
00039 { class Tee_Class; }
00040 namespace Gst
00041 {
00042
00048 enum TeePullMode
00049 {
00050 TEE_PULL_MODE_NEVER,
00051 TEE_PULL_MODE_SINGLE
00052 };
00053
00054 }
00055
00056
00057 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00058 namespace Glib
00059 {
00060
00061 template <>
00062 class Value<Gst::TeePullMode> : public Glib::Value_Enum<Gst::TeePullMode>
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 Tee
00087 : public Gst::Element
00088 {
00089
00090 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00091
00092 public:
00093 typedef Tee CppObjectType;
00094 typedef Tee_Class CppClassType;
00095 typedef GstTee BaseObjectType;
00096 typedef GstTeeClass BaseClassType;
00097
00098 private: friend class Tee_Class;
00099 static CppClassType tee_class_;
00100
00101 private:
00102
00103 Tee(const Tee&);
00104 Tee& operator=(const Tee&);
00105
00106 protected:
00107 explicit Tee(const Glib::ConstructParams& construct_params);
00108 explicit Tee(GstTee* castitem);
00109
00110 #endif
00111
00112 public:
00113 virtual ~Tee();
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 GstTee* gobj() { return reinterpret_cast<GstTee*>(gobject_); }
00122
00124 const GstTee* gobj() const { return reinterpret_cast<GstTee*>(gobject_); }
00125
00127 GstTee* gobj_copy();
00128
00129 private:
00130
00131
00132 protected:
00133 Tee();
00134 Tee(const Glib::ustring& name);
00135
00136 public:
00140 static Glib::RefPtr<Tee> create();
00141
00142
00146 static Glib::RefPtr<Tee> create(const Glib::ustring& name);
00147
00148
00149 #ifdef GLIBMM_PROPERTIES_ENABLED
00150
00156 Glib::PropertyProxy_ReadOnly<int> property_num_src_pads() const;
00157 #endif //#GLIBMM_PROPERTIES_ENABLED
00158
00159
00160 #ifdef GLIBMM_PROPERTIES_ENABLED
00161
00167 Glib::PropertyProxy<bool> property_has_sink_loop() ;
00168 #endif //#GLIBMM_PROPERTIES_ENABLED
00169
00170 #ifdef GLIBMM_PROPERTIES_ENABLED
00171
00177 Glib::PropertyProxy_ReadOnly<bool> property_has_sink_loop() const;
00178 #endif //#GLIBMM_PROPERTIES_ENABLED
00179
00180 #ifdef GLIBMM_PROPERTIES_ENABLED
00181
00187 Glib::PropertyProxy<bool> property_has_chain() ;
00188 #endif //#GLIBMM_PROPERTIES_ENABLED
00189
00190 #ifdef GLIBMM_PROPERTIES_ENABLED
00191
00197 Glib::PropertyProxy_ReadOnly<bool> property_has_chain() const;
00198 #endif //#GLIBMM_PROPERTIES_ENABLED
00199
00200 #ifdef GLIBMM_PROPERTIES_ENABLED
00201
00207 Glib::PropertyProxy<bool> property_silent() ;
00208 #endif //#GLIBMM_PROPERTIES_ENABLED
00209
00210 #ifdef GLIBMM_PROPERTIES_ENABLED
00211
00217 Glib::PropertyProxy_ReadOnly<bool> property_silent() const;
00218 #endif //#GLIBMM_PROPERTIES_ENABLED
00219
00220 #ifdef GLIBMM_PROPERTIES_ENABLED
00221
00227 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_last_message() const;
00228 #endif //#GLIBMM_PROPERTIES_ENABLED
00229
00230
00231 #ifdef GLIBMM_PROPERTIES_ENABLED
00232
00238 Glib::PropertyProxy<TeePullMode> property_pull_mode() ;
00239 #endif //#GLIBMM_PROPERTIES_ENABLED
00240
00241 #ifdef GLIBMM_PROPERTIES_ENABLED
00242
00248 Glib::PropertyProxy_ReadOnly<TeePullMode> property_pull_mode() const;
00249 #endif //#GLIBMM_PROPERTIES_ENABLED
00250
00251 #ifdef GLIBMM_PROPERTIES_ENABLED
00252
00258 Glib::PropertyProxy< Glib::RefPtr<Gst::Pad> > property_alloc_pad() ;
00259 #endif //#GLIBMM_PROPERTIES_ENABLED
00260
00261 #ifdef GLIBMM_PROPERTIES_ENABLED
00262
00268 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gst::Pad> > property_alloc_pad() const;
00269 #endif //#GLIBMM_PROPERTIES_ENABLED
00270
00271
00272 public:
00273
00274 public:
00275
00276 #ifdef GLIBMM_VFUNCS_ENABLED
00277 #endif //GLIBMM_VFUNCS_ENABLED
00278
00279 protected:
00280
00281 #ifdef GLIBMM_VFUNCS_ENABLED
00282 #endif //GLIBMM_VFUNCS_ENABLED
00283
00284
00285 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00286 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00287
00288
00289 };
00290
00291 }
00292
00293
00294 namespace Glib
00295 {
00304 Glib::RefPtr<Gst::Tee> wrap(GstTee* object, bool take_copy = false);
00305 }
00306
00307
00308 #endif
00309