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
00030
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 typedef struct _GstTee GstTee;
00033 typedef struct _GstTeeClass GstTeeClass;
00034 #endif
00035
00036
00037 namespace Gst
00038 { class Tee_Class; }
00039 namespace Gst
00040 {
00041
00047 enum TeePullMode
00048 {
00049 TEE_PULL_MODE_NEVER,
00050 TEE_PULL_MODE_SINGLE
00051 };
00052
00053 }
00054
00055
00056 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00057 namespace Glib
00058 {
00059
00060 template <>
00061 class Value<Gst::TeePullMode> : public Glib::Value_Enum<Gst::TeePullMode>
00062 {
00063 public:
00064 static GType value_type() G_GNUC_CONST;
00065 };
00066
00067 }
00068 #endif
00069
00070
00071 namespace Gst
00072 {
00073
00074
00085 class Tee
00086 : public Gst::Element
00087 {
00088
00089 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00090
00091 public:
00092 typedef Tee CppObjectType;
00093 typedef Tee_Class CppClassType;
00094 typedef GstTee BaseObjectType;
00095 typedef GstTeeClass BaseClassType;
00096
00097 private: friend class Tee_Class;
00098 static CppClassType tee_class_;
00099
00100 private:
00101
00102 Tee(const Tee&);
00103 Tee& operator=(const Tee&);
00104
00105 protected:
00106 explicit Tee(const Glib::ConstructParams& construct_params);
00107 explicit Tee(GstTee* castitem);
00108
00109 #endif
00110
00111 public:
00112 virtual ~Tee();
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 GstTee* gobj() { return reinterpret_cast<GstTee*>(gobject_); }
00121
00123 const GstTee* gobj() const { return reinterpret_cast<GstTee*>(gobject_); }
00124
00126 GstTee* gobj_copy();
00127
00128 private:
00129
00130
00131 protected:
00132 Tee();
00133 Tee(const Glib::ustring& name);
00134
00135 public:
00139 static Glib::RefPtr<Tee> create();
00140
00141
00145 static Glib::RefPtr<Tee> create(const Glib::ustring& name);
00146
00147
00148 #ifdef GLIBMM_PROPERTIES_ENABLED
00149
00155 Glib::PropertyProxy_ReadOnly<int> property_num_src_pads() const;
00156 #endif //#GLIBMM_PROPERTIES_ENABLED
00157
00158
00159 #ifdef GLIBMM_PROPERTIES_ENABLED
00160
00166 Glib::PropertyProxy<bool> property_has_sink_loop() ;
00167 #endif //#GLIBMM_PROPERTIES_ENABLED
00168
00169 #ifdef GLIBMM_PROPERTIES_ENABLED
00170
00176 Glib::PropertyProxy_ReadOnly<bool> property_has_sink_loop() const;
00177 #endif //#GLIBMM_PROPERTIES_ENABLED
00178
00179 #ifdef GLIBMM_PROPERTIES_ENABLED
00180
00186 Glib::PropertyProxy<bool> property_has_chain() ;
00187 #endif //#GLIBMM_PROPERTIES_ENABLED
00188
00189 #ifdef GLIBMM_PROPERTIES_ENABLED
00190
00196 Glib::PropertyProxy_ReadOnly<bool> property_has_chain() const;
00197 #endif //#GLIBMM_PROPERTIES_ENABLED
00198
00199 #ifdef GLIBMM_PROPERTIES_ENABLED
00200
00206 Glib::PropertyProxy<bool> property_silent() ;
00207 #endif //#GLIBMM_PROPERTIES_ENABLED
00208
00209 #ifdef GLIBMM_PROPERTIES_ENABLED
00210
00216 Glib::PropertyProxy_ReadOnly<bool> property_silent() const;
00217 #endif //#GLIBMM_PROPERTIES_ENABLED
00218
00219 #ifdef GLIBMM_PROPERTIES_ENABLED
00220
00226 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_last_message() const;
00227 #endif //#GLIBMM_PROPERTIES_ENABLED
00228
00229
00230 #ifdef GLIBMM_PROPERTIES_ENABLED
00231
00237 Glib::PropertyProxy<TeePullMode> property_pull_mode() ;
00238 #endif //#GLIBMM_PROPERTIES_ENABLED
00239
00240 #ifdef GLIBMM_PROPERTIES_ENABLED
00241
00247 Glib::PropertyProxy_ReadOnly<TeePullMode> property_pull_mode() const;
00248 #endif //#GLIBMM_PROPERTIES_ENABLED
00249
00250
00251 public:
00252
00253 public:
00254
00255 #ifdef GLIBMM_VFUNCS_ENABLED
00256 #endif //GLIBMM_VFUNCS_ENABLED
00257
00258 protected:
00259
00260 #ifdef GLIBMM_VFUNCS_ENABLED
00261 #endif //GLIBMM_VFUNCS_ENABLED
00262
00263
00264 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00265 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00266
00267
00268 };
00269
00270 }
00271
00272
00273 namespace Glib
00274 {
00283 Glib::RefPtr<Gst::Tee> wrap(GstTee* object, bool take_copy = false);
00284 }
00285
00286
00287 #endif
00288