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 // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00010 
00011 /* gstreamermm - a C++ wrapper for gstreamer
00012  *
00013  * Copyright 2008 The gstreamermm Development Team
00014  *
00015  * This library is free software; you can redistribute it and/or
00016  * modify it under the terms of the GNU Library General Public
00017  * License as published by the Free Software Foundation; either
00018  * version 2 of the License, or (at your option) any later version.
00019  *
00020  * This library is distributed in the hope that it will be useful,
00021  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00023  * Library General Public License for more details.
00024  *
00025  * You should have received a copy of the GNU Library General Public
00026  * License along with this library; if not, write to the Free
00027  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00028  */
00029 
00030 #include <gstreamermm/bin.h>
00031 #include <gstreamermm/clock.h>
00032 
00033 
00034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00035 typedef struct _GstPipeline GstPipeline;
00036 typedef struct _GstPipelineClass GstPipelineClass;
00037 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00038 
00039 
00040 namespace Gst
00041 { class Pipeline_Class; } // namespace Gst
00042 namespace Gst
00043 {
00044 
00045 class Bus;
00046 
00098 class Pipeline : public Bin 
00099 {
00100   
00101 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00102 
00103 public:
00104   typedef Pipeline CppObjectType;
00105   typedef Pipeline_Class CppClassType;
00106   typedef GstPipeline BaseObjectType;
00107   typedef GstPipelineClass BaseClassType;
00108 
00109 private:  friend class Pipeline_Class;
00110   static CppClassType pipeline_class_;
00111 
00112 private:
00113   // noncopyable
00114   Pipeline(const Pipeline&);
00115   Pipeline& operator=(const Pipeline&);
00116 
00117 protected:
00118   explicit Pipeline(const Glib::ConstructParams& construct_params);
00119   explicit Pipeline(GstPipeline* castitem);
00120 
00121 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00122 
00123 public:
00124   virtual ~Pipeline();
00125 
00126 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00127   static GType get_type()      G_GNUC_CONST;
00128   static GType get_base_type() G_GNUC_CONST;
00129 #endif
00130 
00132   GstPipeline*       gobj()       { return reinterpret_cast<GstPipeline*>(gobject_); }
00133 
00135   const GstPipeline* gobj() const { return reinterpret_cast<GstPipeline*>(gobject_); }
00136 
00138   GstPipeline* gobj_copy();
00139 
00140 private:
00141 
00142 
00143 protected:
00144   explicit Pipeline(const Glib::ustring& name);
00145 
00146 public:
00153   static Glib::RefPtr<Pipeline> create(const Glib::ustring& name);
00154 
00155 
00161   Glib::RefPtr<Bus> get_bus();
00162   
00168   Glib::RefPtr<const Bus> get_bus() const;
00169   
00178   bool set_clock(const Glib::RefPtr<Clock>& clock);
00179   
00183   Glib::RefPtr<Clock> get_clock();
00184   
00188   Glib::RefPtr<const Clock> get_clock() const;
00189   
00200   void use_clock(const Glib::RefPtr<Clock>& clock);
00201   
00211   void auto_clock();
00212   
00226   void set_new_stream_time(ClockTime time);
00227   
00240   ClockTime get_last_stream_time() const;
00241   
00261   void set_auto_flush_bus(gboolean auto_flush = true);
00262   
00272   bool get_auto_flush_bus() const;
00273   
00288   void set_delay(ClockTime delay);
00289   
00297   ClockTime get_delay() const;
00298 
00299   #ifdef GLIBMM_PROPERTIES_ENABLED
00300 
00306   Glib::PropertyProxy<bool> property_auto_flush_bus() ;
00307 #endif //#GLIBMM_PROPERTIES_ENABLED
00308 
00309 #ifdef GLIBMM_PROPERTIES_ENABLED
00310 
00316   Glib::PropertyProxy_ReadOnly<bool> property_auto_flush_bus() const;
00317 #endif //#GLIBMM_PROPERTIES_ENABLED
00318 
00319   #ifdef GLIBMM_PROPERTIES_ENABLED
00320 
00326   Glib::PropertyProxy<ClockTime> property_delay() ;
00327 #endif //#GLIBMM_PROPERTIES_ENABLED
00328 
00329 #ifdef GLIBMM_PROPERTIES_ENABLED
00330 
00336   Glib::PropertyProxy_ReadOnly<ClockTime> property_delay() const;
00337 #endif //#GLIBMM_PROPERTIES_ENABLED
00338 
00339 
00340 public:
00341 
00342 public:
00343   //C++ methods used to invoke GTK+ virtual functions:
00344 #ifdef GLIBMM_VFUNCS_ENABLED
00345 #endif //GLIBMM_VFUNCS_ENABLED
00346 
00347 protected:
00348   //GTK+ Virtual Functions (override these to change behaviour):
00349 #ifdef GLIBMM_VFUNCS_ENABLED
00350 #endif //GLIBMM_VFUNCS_ENABLED
00351 
00352   //Default Signal Handlers::
00353 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00354 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00355 
00356 
00357 };
00358 
00359 } //namespace Gst
00360 
00361 
00362 namespace Glib
00363 {
00372   Glib::RefPtr<Gst::Pipeline> wrap(GstPipeline* object, bool take_copy = false);
00373 }
00374 
00375 
00376 #endif /* _GSTREAMERMM_PIPELINE_H */
00377 

Generated on Sun Jul 27 17:07:20 2008 for gstreamermm by  doxygen 1.5.4