gstreamermm: pipeline.h Source File

- Main Page
- Modules
- Namespaces
- Classes
- Files

# 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