- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

# 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
    00128
    00129   static GType get_base_type() G_GNUC_CONST;
    00130 #endif
    00131
    00133   GstPipeline*       gobj()       { return reinterpret_cast<GstPipeline*>(gobject_); }
    00134
    00136   const GstPipeline* gobj() const { return reinterpret_cast<GstPipeline*>(gobject_); }
    00137
    00139   GstPipeline* gobj_copy();
    00140
    00141 private:
    00142
    00143
    00144 protected:
    00145   explicit Pipeline(const Glib::ustring& name);
    00146   Pipeline();
    00147
    00148 public:
    00155   static Glib::RefPtr<Pipeline> create(const Glib::ustring& name);
    00156
    00157
    00162   static Glib::RefPtr<Pipeline> create();
    00163
    00164
    00170   Glib::RefPtr<Gst::Bus> get_bus();
    00171
    00177   Glib::RefPtr<const Gst::Bus> get_bus() const;
    00178
    00187   bool set_clock(const Glib::RefPtr<Gst::Clock>& clock);
    00188
    00192   Glib::RefPtr<Gst::Clock> get_clock();
    00193
    00197   Glib::RefPtr<const Gst::Clock> get_clock() const;
    00198
    00209   void use_clock(const Glib::RefPtr<Gst::Clock>& clock);
    00210
    00220   void auto_clock();
    00221
    00238   void set_new_stream_time(ClockTime time);
    00239
    00255   ClockTime get_last_stream_time() const;
    00256
    00276   void set_auto_flush_bus(gboolean auto_flush = true);
    00277
    00287   bool get_auto_flush_bus() const;
    00288
    00303   void set_delay(ClockTime delay);
    00304
    00312   ClockTime get_delay() const;
    00313
    00314   #ifdef GLIBMM_PROPERTIES_ENABLED
    00315
    00321   Glib::PropertyProxy<bool> property_auto_flush_bus() ;
    00322 #endif //#GLIBMM_PROPERTIES_ENABLED
    00323
    00324 #ifdef GLIBMM_PROPERTIES_ENABLED
    00325
    00331   Glib::PropertyProxy_ReadOnly<bool> property_auto_flush_bus() const;
    00332 #endif //#GLIBMM_PROPERTIES_ENABLED
    00333
    00334   #ifdef GLIBMM_PROPERTIES_ENABLED
    00335
    00341   Glib::PropertyProxy<ClockTime> property_delay() ;
    00342 #endif //#GLIBMM_PROPERTIES_ENABLED
    00343
    00344 #ifdef GLIBMM_PROPERTIES_ENABLED
    00345
    00351   Glib::PropertyProxy_ReadOnly<ClockTime> property_delay() const;
    00352 #endif //#GLIBMM_PROPERTIES_ENABLED
    00353
    00354
    00355 public:
    00356
    00357 public:
    00358   //C++ methods used to invoke GTK+ virtual functions:
    00359 #ifdef GLIBMM_VFUNCS_ENABLED
    00360 #endif //GLIBMM_VFUNCS_ENABLED
    00361
    00362 protected:
    00363   //GTK+ Virtual Functions (override these to change behaviour):
    00364 #ifdef GLIBMM_VFUNCS_ENABLED
    00365 #endif //GLIBMM_VFUNCS_ENABLED
    00366
    00367   //Default Signal Handlers::
    00368 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00369 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00370
    00371
    00372 };
    00373
    00374 } //namespace Gst
    00375
    00376
    00377 namespace Glib
    00378 {
    00387   Glib::RefPtr<Gst::Pipeline> wrap(GstPipeline* object, bool take_copy = false);
    00388 }
    00389
    00390
    00391 #endif /* _GSTREAMERMM_PIPELINE_H */
    00392