00001
00002
00003 #ifndef _GSTREAMERMM_PLAYBIN_H
00004 #define _GSTREAMERMM_PLAYBIN_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/pipeline.h>
00031 #include <gstreamermm/element.h>
00032 #include <gstreamermm/buffer.h>
00033
00034
00035 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00036 typedef struct _GstPlayBin GstPlayBin;
00037 typedef struct _GstPlayBinClass GstPlayBinClass;
00038 #endif
00039
00040
00041 namespace Gst
00042 { class PlayBin_Class; }
00043 namespace Gst
00044 {
00045
00056 class PlayBin
00057 : public Gst::Pipeline
00058 {
00059
00060 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00061
00062 public:
00063 typedef PlayBin CppObjectType;
00064 typedef PlayBin_Class CppClassType;
00065 typedef GstPlayBin BaseObjectType;
00066 typedef GstPlayBinClass BaseClassType;
00067
00068 private: friend class PlayBin_Class;
00069 static CppClassType playbin_class_;
00070
00071 private:
00072
00073 PlayBin(const PlayBin&);
00074 PlayBin& operator=(const PlayBin&);
00075
00076 protected:
00077 explicit PlayBin(const Glib::ConstructParams& construct_params);
00078 explicit PlayBin(GstPlayBin* castitem);
00079
00080 #endif
00081
00082 public:
00083 virtual ~PlayBin();
00084
00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00086 static GType get_type() G_GNUC_CONST;
00087
00088
00089 static GType get_base_type() G_GNUC_CONST;
00090 #endif
00091
00093 GstPlayBin* gobj() { return reinterpret_cast<GstPlayBin*>(gobject_); }
00094
00096 const GstPlayBin* gobj() const { return reinterpret_cast<GstPlayBin*>(gobject_); }
00097
00099 GstPlayBin* gobj_copy();
00100
00101 private:
00102
00103
00104 protected:
00105 PlayBin();
00106 PlayBin(const Glib::ustring& name);
00107
00108 public:
00112 static Glib::RefPtr<PlayBin> create();
00113
00114
00118 static Glib::RefPtr<PlayBin> create(const Glib::ustring& name);
00119
00120
00121 #ifdef GLIBMM_PROPERTIES_ENABLED
00122
00128 Glib::PropertyProxy< Glib::RefPtr<Gst::Element> > property_audio_sink() ;
00129 #endif //#GLIBMM_PROPERTIES_ENABLED
00130
00131 #ifdef GLIBMM_PROPERTIES_ENABLED
00132
00138 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gst::Element> > property_audio_sink() const;
00139 #endif //#GLIBMM_PROPERTIES_ENABLED
00140
00141 #ifdef GLIBMM_PROPERTIES_ENABLED
00142
00148 Glib::PropertyProxy< Glib::RefPtr<Gst::Element> > property_video_sink() ;
00149 #endif //#GLIBMM_PROPERTIES_ENABLED
00150
00151 #ifdef GLIBMM_PROPERTIES_ENABLED
00152
00158 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gst::Element> > property_video_sink() const;
00159 #endif //#GLIBMM_PROPERTIES_ENABLED
00160
00161 #ifdef GLIBMM_PROPERTIES_ENABLED
00162
00168 Glib::PropertyProxy< Glib::RefPtr<Gst::Element> > property_vis_plugin() ;
00169 #endif //#GLIBMM_PROPERTIES_ENABLED
00170
00171 #ifdef GLIBMM_PROPERTIES_ENABLED
00172
00178 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gst::Element> > property_vis_plugin() const;
00179 #endif //#GLIBMM_PROPERTIES_ENABLED
00180
00181 #ifdef GLIBMM_PROPERTIES_ENABLED
00182
00188 Glib::PropertyProxy<double> property_volume() ;
00189 #endif //#GLIBMM_PROPERTIES_ENABLED
00190
00191 #ifdef GLIBMM_PROPERTIES_ENABLED
00192
00198 Glib::PropertyProxy_ReadOnly<double> property_volume() const;
00199 #endif //#GLIBMM_PROPERTIES_ENABLED
00200
00201 #ifdef GLIBMM_PROPERTIES_ENABLED
00202
00208 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gst::Buffer> > property_frame() const;
00209 #endif //#GLIBMM_PROPERTIES_ENABLED
00210
00211
00212 #ifdef GLIBMM_PROPERTIES_ENABLED
00213
00219 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_subtitle_font_desc() ;
00220 #endif //#GLIBMM_PROPERTIES_ENABLED
00221
00222
00223 public:
00224
00225 public:
00226
00227 #ifdef GLIBMM_VFUNCS_ENABLED
00228 #endif //GLIBMM_VFUNCS_ENABLED
00229
00230 protected:
00231
00232 #ifdef GLIBMM_VFUNCS_ENABLED
00233 #endif //GLIBMM_VFUNCS_ENABLED
00234
00235
00236 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00237 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00238
00239
00240 };
00241
00242 }
00243
00244
00245 namespace Glib
00246 {
00255 Glib::RefPtr<Gst::PlayBin> wrap(GstPlayBin* object, bool take_copy = false);
00256 }
00257
00258
00259 #endif
00260