pipeline.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _GSTREAMERMM_PIPELINE_H
00004 #define _GSTREAMERMM_PIPELINE_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 /* gstreamermm - a C++ wrapper for gstreamer
00010  *
00011  * Copyright 2008 The gstreamermm Development Team
00012  *
00013  * This library is free software; you can redistribute it and/or
00014  * modify it under the terms of the GNU Lesser General Public
00015  * License as published by the Free Software Foundation; either
00016  * version 2.1 of the License, or (at your option) any later version.
00017  *
00018  * This library is distributed in the hope that it will be useful,
00019  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00021  * Lesser General Public License for more details.
00022  *
00023  * You should have received a copy of the GNU Lesser General Public
00024  * License along with this library; if not, write to the Free
00025  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00026  */
00027 
00028 #include <gstreamermm/bin.h>
00029 #include <gstreamermm/clock.h>
00030 
00031 
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstPipeline GstPipeline;
00034 typedef struct _GstPipelineClass GstPipelineClass;
00035 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00036 
00037 
00038 namespace Gst
00039 { class Pipeline_Class; } // namespace Gst
00040 namespace Gst
00041 {
00042 
00043 class Bus;
00044 
00097 class Pipeline : public Bin 
00098 {
00099   
00100 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00101 
00102 public:
00103   typedef Pipeline CppObjectType;
00104   typedef Pipeline_Class CppClassType;
00105   typedef GstPipeline BaseObjectType;
00106   typedef GstPipelineClass BaseClassType;
00107 
00108 private:  friend class Pipeline_Class;
00109   static CppClassType pipeline_class_;
00110 
00111 private:
00112   // noncopyable
00113   Pipeline(const Pipeline&);
00114   Pipeline& operator=(const Pipeline&);
00115 
00116 protected:
00117   explicit Pipeline(const Glib::ConstructParams& construct_params);
00118   explicit Pipeline(GstPipeline* castitem);
00119 
00120 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00121 
00122 public:
00123   virtual ~Pipeline();
00124 
00125 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00126   static GType get_type()      G_GNUC_CONST;
00127   static GType get_base_type() G_GNUC_CONST;
00128 #endif
00129 
00131   GstPipeline*       gobj()       { return reinterpret_cast<GstPipeline*>(gobject_); }
00132 
00134   const GstPipeline* gobj() const { return reinterpret_cast<GstPipeline*>(gobject_); }
00135 
00137   GstPipeline* gobj_copy();
00138 
00139 private:
00140 
00141 
00142 protected:
00143   explicit Pipeline(const Glib::ustring& name);
00144   Pipeline();
00145 
00146 public:
00153   static Glib::RefPtr<Pipeline> create(const Glib::ustring& name);
00154 
00155 
00160   static Glib::RefPtr<Pipeline> create();
00161 
00162 
00168   Glib::RefPtr<Gst::Bus> get_bus();
00169   
00175   Glib::RefPtr<const Gst::Bus> get_bus() const;
00176   
00185   bool set_clock(const Glib::RefPtr<Gst::Clock>& clock);
00186   
00190   Glib::RefPtr<Gst::Clock> get_clock();
00191   
00195   Glib::RefPtr<const Gst::Clock> get_clock() const;
00196   
00207   void use_clock(const Glib::RefPtr<Gst::Clock>& clock);
00208   
00218   void auto_clock();
00219   
00233   void set_new_stream_time(ClockTime time);
00234   
00247   ClockTime get_last_stream_time() const;
00248   
00268   void set_auto_flush_bus(gboolean auto_flush = true);
00269   
00279   bool get_auto_flush_bus() const;
00280   
00295   void set_delay(ClockTime delay);
00296   
00304   ClockTime get_delay() const;
00305 
00306   #ifdef GLIBMM_PROPERTIES_ENABLED
00307 
00313   Glib::PropertyProxy<bool> property_auto_flush_bus() ;
00314 #endif //#GLIBMM_PROPERTIES_ENABLED
00315 
00316 #ifdef GLIBMM_PROPERTIES_ENABLED
00317 
00323   Glib::PropertyProxy_ReadOnly<bool> property_auto_flush_bus() const;
00324 #endif //#GLIBMM_PROPERTIES_ENABLED
00325 
00326   #ifdef GLIBMM_PROPERTIES_ENABLED
00327 
00333   Glib::PropertyProxy<ClockTime> property_delay() ;
00334 #endif //#GLIBMM_PROPERTIES_ENABLED
00335 
00336 #ifdef GLIBMM_PROPERTIES_ENABLED
00337 
00343   Glib::PropertyProxy_ReadOnly<ClockTime> property_delay() const;
00344 #endif //#GLIBMM_PROPERTIES_ENABLED
00345 
00346 
00347 public:
00348 
00349 public:
00350   //C++ methods used to invoke GTK+ virtual functions:
00351 #ifdef GLIBMM_VFUNCS_ENABLED
00352 #endif //GLIBMM_VFUNCS_ENABLED
00353 
00354 protected:
00355   //GTK+ Virtual Functions (override these to change behaviour):
00356 #ifdef GLIBMM_VFUNCS_ENABLED
00357 #endif //GLIBMM_VFUNCS_ENABLED
00358 
00359   //Default Signal Handlers::
00360 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00361 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00362 
00363 
00364 };
00365 
00366 } //namespace Gst
00367 
00368 
00369 namespace Glib
00370 {
00379   Glib::RefPtr<Gst::Pipeline> wrap(GstPipeline* object, bool take_copy = false);
00380 }
00381 
00382 
00383 #endif /* _GSTREAMERMM_PIPELINE_H */
00384 

Generated on Wed Aug 19 15:53:26 2009 for gstreamermm by  doxygen 1.5.4