gstreamermm: playbin2.h Source File

- Main Page
- Modules
- Namespaces
- Classes
- Files

# playbin2.h

Go to the documentation of this file.

    00001 // -*- c++ -*-
    00002 // Generated by gtkmmproc -- DO NOT MODIFY!
    00003 #ifndef _GSTREAMERMM_PLAYBIN2_H
    00004 #define _GSTREAMERMM_PLAYBIN2_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/pipeline.h>
    00029 #include <gstreamermm/element.h>
    00030 #include <gstreamermm/buffer.h>
    00031 #include <gstreamermm/taglist.h>
    00032 #include <gstreamermm/caps.h>
    00033 #include <gstreamermm/pad.h>
    00034
    00035
    00036 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00037 typedef struct _GstPlayBin2 GstPlayBin2;
    00038 typedef struct _GstPlayBin2Class GstPlayBin2Class;
    00039 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00040
    00041
    00042 namespace Gst
    00043 { class PlayBin2_Class; } // namespace Gst
    00044 namespace Gst
    00045 {
    00046
    00060 enum PlayFlags
    00061 {
    00062   PLAY_FLAG_VIDEO = 1 << 0,
    00063   PLAY_FLAG_AUDIO = 1 << 1,
    00064   PLAY_FLAG_TEXT = 1 << 2,
    00065   PLAY_FLAG_VIS = 1 << 3,
    00066   PLAY_FLAG_SOFT_VOLUME = 1 << 4,
    00067   PLAY_FLAG_NATIVE_AUDIO = 1 << 5,
    00068   PLAY_FLAG_NATIVE_VIDEO = 1 << 6
    00069 };
    00070
    00072 inline PlayFlags operator|(PlayFlags lhs, PlayFlags rhs)
    00073   { return static_cast<PlayFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
    00074
    00076 inline PlayFlags operator&(PlayFlags lhs, PlayFlags rhs)
    00077   { return static_cast<PlayFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
    00078
    00080 inline PlayFlags operator^(PlayFlags lhs, PlayFlags rhs)
    00081   { return static_cast<PlayFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
    00082
    00084 inline PlayFlags operator~(PlayFlags flags)
    00085   { return static_cast<PlayFlags>(~static_cast<unsigned>(flags)); }
    00086
    00088 inline PlayFlags& operator|=(PlayFlags& lhs, PlayFlags rhs)
    00089   { return (lhs = static_cast<PlayFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
    00090
    00092 inline PlayFlags& operator&=(PlayFlags& lhs, PlayFlags rhs)
    00093   { return (lhs = static_cast<PlayFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
    00094
    00096 inline PlayFlags& operator^=(PlayFlags& lhs, PlayFlags rhs)
    00097   { return (lhs = static_cast<PlayFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
    00098
    00099 } // namespace Gst
    00100
    00101
    00102 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00103 namespace Glib
    00104 {
    00105
    00106 template <>
    00107 class Value<Gst::PlayFlags> : public Glib::Value_Flags<Gst::PlayFlags>
    00108 {
    00109 public:
    00110   static GType value_type() G_GNUC_CONST;
    00111 };
    00112
    00113 } // namespace Glib
    00114 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00115
    00116
    00117 namespace Gst
    00118 {
    00119
    00120
    00131 class PlayBin2
    00132 : public Gst::Pipeline
    00133 {
    00134
    00135 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00136
    00137 public:
    00138   typedef PlayBin2 CppObjectType;
    00139   typedef PlayBin2_Class CppClassType;
    00140   typedef GstPlayBin2 BaseObjectType;
    00141   typedef GstPlayBin2Class BaseClassType;
    00142
    00143 private:  friend class PlayBin2_Class;
    00144   static CppClassType playbin2_class_;
    00145
    00146 private:
    00147   // noncopyable
    00148   PlayBin2(const PlayBin2&);
    00149   PlayBin2& operator=(const PlayBin2&);
    00150
    00151 protected:
    00152   explicit PlayBin2(const Glib::ConstructParams& construct_params);
    00153   explicit PlayBin2(GstPlayBin2* castitem);
    00154
    00155 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00156
    00157 public:
    00158   virtual ~PlayBin2();
    00159
    00160 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00161   static GType get_type()      G_GNUC_CONST;
    00162   static GType get_base_type() G_GNUC_CONST;
    00163 #endif
    00164
    00166   GstPlayBin2*       gobj()       { return reinterpret_cast<GstPlayBin2*>(gobject_); }
    00167
    00169   const GstPlayBin2* gobj() const { return reinterpret_cast<GstPlayBin2*>(gobject_); }
    00170
    00172   GstPlayBin2* gobj_copy();
    00173
    00174 private:
    00175
    00176
    00177 protected:
    00178   PlayBin2();
    00179   PlayBin2(const Glib::ustring& name);
    00180
    00181 public:
    00185   static Glib::RefPtr<PlayBin2> create();
    00186
    00187
    00191   static Glib::RefPtr<PlayBin2> create(const Glib::ustring& name);
    00192
    00193
    00194   #ifdef GLIBMM_PROPERTIES_ENABLED
    00195
    00201   Glib::PropertyProxy<Glib::ustring> property_uri() ;
    00202 #endif //#GLIBMM_PROPERTIES_ENABLED
    00203
    00204 #ifdef GLIBMM_PROPERTIES_ENABLED
    00205
    00211   Glib::PropertyProxy_ReadOnly<Glib::ustring> property_uri() const;
    00212 #endif //#GLIBMM_PROPERTIES_ENABLED
    00213
    00214   #ifdef GLIBMM_PROPERTIES_ENABLED
    00215
    00221   Glib::PropertyProxy<Glib::ustring> property_suburi() ;
    00222 #endif //#GLIBMM_PROPERTIES_ENABLED
    00223
    00224 #ifdef GLIBMM_PROPERTIES_ENABLED
    00225
    00231   Glib::PropertyProxy_ReadOnly<Glib::ustring> property_suburi() const;
    00232 #endif //#GLIBMM_PROPERTIES_ENABLED
    00233
    00234   #ifdef GLIBMM_PROPERTIES_ENABLED
    00235
    00241   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gst::Element> > property_source() const;
    00242 #endif //#GLIBMM_PROPERTIES_ENABLED
    00243
    00244
    00245   #ifdef GLIBMM_PROPERTIES_ENABLED
    00246
    00252   Glib::PropertyProxy<PlayFlags> property_flags() ;
    00253 #endif //#GLIBMM_PROPERTIES_ENABLED
    00254
    00255 #ifdef GLIBMM_PROPERTIES_ENABLED
    00256
    00262   Glib::PropertyProxy_ReadOnly<PlayFlags> property_flags() const;
    00263 #endif //#GLIBMM_PROPERTIES_ENABLED
    00264
    00265   #ifdef GLIBMM_PROPERTIES_ENABLED
    00266
    00272   Glib::PropertyProxy_ReadOnly<int> property_n_video() const;
    00273 #endif //#GLIBMM_PROPERTIES_ENABLED
    00274
    00275
    00276   #ifdef GLIBMM_PROPERTIES_ENABLED
    00277
    00283   Glib::PropertyProxy<int> property_current_video() ;
    00284 #endif //#GLIBMM_PROPERTIES_ENABLED
    00285
    00286 #ifdef GLIBMM_PROPERTIES_ENABLED
    00287
    00293   Glib::PropertyProxy_ReadOnly<int> property_current_video() const;
    00294 #endif //#GLIBMM_PROPERTIES_ENABLED
    00295
    00296   #ifdef GLIBMM_PROPERTIES_ENABLED
    00297
    00303   Glib::PropertyProxy_ReadOnly<int> property_n_audio() const;
    00304 #endif //#GLIBMM_PROPERTIES_ENABLED
    00305
    00306
    00307   #ifdef GLIBMM_PROPERTIES_ENABLED
    00308
    00314   Glib::PropertyProxy<int> property_current_audio() ;
    00315 #endif //#GLIBMM_PROPERTIES_ENABLED
    00316
    00317 #ifdef GLIBMM_PROPERTIES_ENABLED
    00318
    00324   Glib::PropertyProxy_ReadOnly<int> property_current_audio() const;
    00325 #endif //#GLIBMM_PROPERTIES_ENABLED
    00326
    00327   #ifdef GLIBMM_PROPERTIES_ENABLED
    00328
    00334   Glib::PropertyProxy_ReadOnly<int> property_n_text() const;
    00335 #endif //#GLIBMM_PROPERTIES_ENABLED
    00336
    00337
    00338   #ifdef GLIBMM_PROPERTIES_ENABLED
    00339
    00345   Glib::PropertyProxy<int> property_current_text() ;
    00346 #endif //#GLIBMM_PROPERTIES_ENABLED
    00347
    00348 #ifdef GLIBMM_PROPERTIES_ENABLED
    00349
    00355   Glib::PropertyProxy_ReadOnly<int> property_current_text() const;
    00356 #endif //#GLIBMM_PROPERTIES_ENABLED
    00357
    00358   #ifdef GLIBMM_PROPERTIES_ENABLED
    00359
    00365   Glib::PropertyProxy<Glib::ustring> property_subtitle_encoding() ;
    00366 #endif //#GLIBMM_PROPERTIES_ENABLED
    00367
    00368 #ifdef GLIBMM_PROPERTIES_ENABLED
    00369
    00375   Glib::PropertyProxy_ReadOnly<Glib::ustring> property_subtitle_encoding() const;
    00376 #endif //#GLIBMM_PROPERTIES_ENABLED
    00377
    00378   #ifdef GLIBMM_PROPERTIES_ENABLED
    00379
    00385   Glib::PropertyProxy< Glib::RefPtr<Gst::Element> > property_audio_sink() ;
    00386 #endif //#GLIBMM_PROPERTIES_ENABLED
    00387
    00388 #ifdef GLIBMM_PROPERTIES_ENABLED
    00389
    00395   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gst::Element> > property_audio_sink() const;
    00396 #endif //#GLIBMM_PROPERTIES_ENABLED
    00397
    00398   #ifdef GLIBMM_PROPERTIES_ENABLED
    00399
    00405   Glib::PropertyProxy< Glib::RefPtr<Gst::Element> > property_video_sink() ;
    00406 #endif //#GLIBMM_PROPERTIES_ENABLED
    00407
    00408 #ifdef GLIBMM_PROPERTIES_ENABLED
    00409
    00415   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gst::Element> > property_video_sink() const;
    00416 #endif //#GLIBMM_PROPERTIES_ENABLED
    00417
    00418   #ifdef GLIBMM_PROPERTIES_ENABLED
    00419
    00425   Glib::PropertyProxy< Glib::RefPtr<Gst::Element> > property_vis_plugin() ;
    00426 #endif //#GLIBMM_PROPERTIES_ENABLED
    00427
    00428 #ifdef GLIBMM_PROPERTIES_ENABLED
    00429
    00435   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gst::Element> > property_vis_plugin() const;
    00436 #endif //#GLIBMM_PROPERTIES_ENABLED
    00437
    00438   #ifdef GLIBMM_PROPERTIES_ENABLED
    00439
    00445   Glib::PropertyProxy<double> property_volume() ;
    00446 #endif //#GLIBMM_PROPERTIES_ENABLED
    00447
    00448 #ifdef GLIBMM_PROPERTIES_ENABLED
    00449
    00455   Glib::PropertyProxy_ReadOnly<double> property_volume() const;
    00456 #endif //#GLIBMM_PROPERTIES_ENABLED
    00457
    00458   #ifdef GLIBMM_PROPERTIES_ENABLED
    00459
    00465   Glib::PropertyProxy<bool> property_mute() ;
    00466 #endif //#GLIBMM_PROPERTIES_ENABLED
    00467
    00468 #ifdef GLIBMM_PROPERTIES_ENABLED
    00469
    00475   Glib::PropertyProxy_ReadOnly<bool> property_mute() const;
    00476 #endif //#GLIBMM_PROPERTIES_ENABLED
    00477
    00478   #ifdef GLIBMM_PROPERTIES_ENABLED
    00479
    00485   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gst::Buffer> > property_frame() const;
    00486 #endif //#GLIBMM_PROPERTIES_ENABLED
    00487
    00488
    00489   #ifdef GLIBMM_PROPERTIES_ENABLED
    00490
    00496   Glib::PropertyProxy_WriteOnly<Glib::ustring> property_subtitle_font_desc() ;
    00497 #endif //#GLIBMM_PROPERTIES_ENABLED
    00498
    00499
    00500   #ifdef GLIBMM_PROPERTIES_ENABLED
    00501
    00507   Glib::PropertyProxy<guint> property_connection_speed() ;
    00508 #endif //#GLIBMM_PROPERTIES_ENABLED
    00509
    00510 #ifdef GLIBMM_PROPERTIES_ENABLED
    00511
    00517   Glib::PropertyProxy_ReadOnly<guint> property_connection_speed() const;
    00518 #endif //#GLIBMM_PROPERTIES_ENABLED
    00519
    00520   #ifdef GLIBMM_PROPERTIES_ENABLED
    00521
    00527   Glib::PropertyProxy<int> property_buffer_size() ;
    00528 #endif //#GLIBMM_PROPERTIES_ENABLED
    00529
    00530 #ifdef GLIBMM_PROPERTIES_ENABLED
    00531
    00537   Glib::PropertyProxy_ReadOnly<int> property_buffer_size() const;
    00538 #endif //#GLIBMM_PROPERTIES_ENABLED
    00539
    00540   #ifdef GLIBMM_PROPERTIES_ENABLED
    00541
    00547   Glib::PropertyProxy<gint64> property_buffer_duration() ;
    00548 #endif //#GLIBMM_PROPERTIES_ENABLED
    00549
    00550 #ifdef GLIBMM_PROPERTIES_ENABLED
    00551
    00557   Glib::PropertyProxy_ReadOnly<gint64> property_buffer_duration() const;
    00558 #endif //#GLIBMM_PROPERTIES_ENABLED
    00559
    00560
    00566   Glib::SignalProxy0< void > signal_about_to_finish();
    00567
    00568
    00574   Glib::SignalProxy0< void > signal_video_changed();
    00575
    00576
    00582   Glib::SignalProxy0< void > signal_audio_changed();
    00583
    00584
    00590   Glib::SignalProxy0< void > signal_text_changed();
    00591
    00592
    00598   Glib::SignalProxy1< Gst::TagList,int > signal_get_video_tags();
    00599
    00600
    00606   Glib::SignalProxy1< Gst::TagList,int > signal_get_audio_tags();
    00607
    00608
    00614   Glib::SignalProxy1< Gst::TagList,int > signal_get_text_tags();
    00615
    00616
    00622   Glib::SignalProxy1< Glib::RefPtr<Gst::Buffer>,const Glib::RefPtr<Gst::Caps>& > signal_convert_frame();
    00623
    00624
    00630   Glib::SignalProxy1< Glib::RefPtr<Gst::Pad>,int > signal_get_video_pad();
    00631
    00632
    00638   Glib::SignalProxy1< Glib::RefPtr<Gst::Pad>,int > signal_get_audio_pad();
    00639
    00640
    00646   Glib::SignalProxy1< Glib::RefPtr<Gst::Pad>,int > signal_get_text_pad();
    00647
    00648
    00649 public:
    00650
    00651 public:
    00652   //C++ methods used to invoke GTK+ virtual functions:
    00653 #ifdef GLIBMM_VFUNCS_ENABLED
    00654 #endif //GLIBMM_VFUNCS_ENABLED
    00655
    00656 protected:
    00657   //GTK+ Virtual Functions (override these to change behaviour):
    00658 #ifdef GLIBMM_VFUNCS_ENABLED
    00659 #endif //GLIBMM_VFUNCS_ENABLED
    00660
    00661   //Default Signal Handlers::
    00662 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00663   virtual void on_about_to_finish();
    00664   virtual void on_video_changed();
    00665   virtual void on_audio_changed();
    00666   virtual void on_text_changed();
    00667   virtual Gst::TagList on_get_video_tags(int arg0);
    00668   virtual Gst::TagList on_get_audio_tags(int arg0);
    00669   virtual Gst::TagList on_get_text_tags(int arg0);
    00670   virtual Glib::RefPtr<Gst::Buffer> on_convert_frame(const Glib::RefPtr<Gst::Caps>& arg0);
    00671   virtual Glib::RefPtr<Gst::Pad> on_get_video_pad(int arg0);
    00672   virtual Glib::RefPtr<Gst::Pad> on_get_audio_pad(int arg0);
    00673   virtual Glib::RefPtr<Gst::Pad> on_get_text_pad(int arg0);
    00674 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00675
    00676
    00677 };
    00678
    00679 } //namespace Gst
    00680
    00681
    00682 namespace Glib
    00683 {
    00692   Glib::RefPtr<Gst::PlayBin2> wrap(GstPlayBin2* object, bool take_copy = false);
    00693 }
    00694
    00695
    00696 #endif /* _GSTREAMERMM_PLAYBIN2_H */
    00697