00001
00002
00003 #ifndef _GSTREAMERMM_FAKESINK_H
00004 #define _GSTREAMERMM_FAKESINK_H
00005
00006
00007 #include <glibmm.h>
00008
00009 #include <gstreamermm/basesink.h>
00010 #include <gstreamermm/buffer.h>
00011 #include <gstreamermm/pad.h>
00012
00013
00014 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00015 typedef struct _GstFakeSink GstFakeSink;
00016 typedef struct _GstFakeSinkClass GstFakeSinkClass;
00017 #endif
00018
00019
00020 namespace Gst
00021 { class FakeSink_Class; }
00022 namespace Gst
00023 {
00024
00030 enum FakeSinkStateError
00031 {
00032 FAKE_SINK_STATE_ERROR_NONE,
00033 FAKE_SINK_STATE_ERROR_NULL_READY,
00034 FAKE_SINK_STATE_ERROR_READY_PAUSED,
00035 FAKE_SINK_STATE_ERROR_PAUSED_PLAYING,
00036 FAKE_SINK_STATE_ERROR_PLAYING_PAUSED,
00037 FAKE_SINK_STATE_ERROR_PAUSED_READY,
00038 FAKE_SINK_STATE_ERROR_READY_NULL
00039 };
00040
00041 }
00042
00043
00044 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00045 namespace Glib
00046 {
00047
00048 template <>
00049 class Value<Gst::FakeSinkStateError> : public Glib::Value_Enum<Gst::FakeSinkStateError>
00050 {
00051 public:
00052 static GType value_type() G_GNUC_CONST;
00053 };
00054
00055 }
00056 #endif
00057
00058
00059 namespace Gst
00060 {
00061
00062
00072 class FakeSink
00073 : public Gst::BaseSink
00074 {
00075
00076 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00077
00078 public:
00079 typedef FakeSink CppObjectType;
00080 typedef FakeSink_Class CppClassType;
00081 typedef GstFakeSink BaseObjectType;
00082 typedef GstFakeSinkClass BaseClassType;
00083
00084 private: friend class FakeSink_Class;
00085 static CppClassType fakesink_class_;
00086
00087 private:
00088
00089 FakeSink(const FakeSink&);
00090 FakeSink& operator=(const FakeSink&);
00091
00092 protected:
00093 explicit FakeSink(const Glib::ConstructParams& construct_params);
00094 explicit FakeSink(GstFakeSink* castitem);
00095
00096 #endif
00097
00098 public:
00099 virtual ~FakeSink();
00100
00101 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00102 static GType get_type() G_GNUC_CONST;
00103 static GType get_base_type() G_GNUC_CONST;
00104 #endif
00105
00107 GstFakeSink* gobj() { return reinterpret_cast<GstFakeSink*>(gobject_); }
00108
00110 const GstFakeSink* gobj() const { return reinterpret_cast<GstFakeSink*>(gobject_); }
00111
00113 GstFakeSink* gobj_copy();
00114
00115 private:
00116
00117
00118 protected:
00119 FakeSink();
00120 FakeSink(const Glib::ustring& name);
00121
00122 public:
00126 static Glib::RefPtr<FakeSink> create();
00127
00128
00132 static Glib::RefPtr<FakeSink> create(const Glib::ustring& name);
00133
00134
00135 #ifdef GLIBMM_PROPERTIES_ENABLED
00136
00142 Glib::PropertyProxy<FakeSinkStateError> property_state_error() ;
00143 #endif //#GLIBMM_PROPERTIES_ENABLED
00144
00145 #ifdef GLIBMM_PROPERTIES_ENABLED
00146
00152 Glib::PropertyProxy_ReadOnly<FakeSinkStateError> property_state_error() const;
00153 #endif //#GLIBMM_PROPERTIES_ENABLED
00154
00155 #ifdef GLIBMM_PROPERTIES_ENABLED
00156
00162 Glib::PropertyProxy<bool> property_silent() ;
00163 #endif //#GLIBMM_PROPERTIES_ENABLED
00164
00165 #ifdef GLIBMM_PROPERTIES_ENABLED
00166
00172 Glib::PropertyProxy_ReadOnly<bool> property_silent() const;
00173 #endif //#GLIBMM_PROPERTIES_ENABLED
00174
00175 #ifdef GLIBMM_PROPERTIES_ENABLED
00176
00182 Glib::PropertyProxy<bool> property_dump() ;
00183 #endif //#GLIBMM_PROPERTIES_ENABLED
00184
00185 #ifdef GLIBMM_PROPERTIES_ENABLED
00186
00192 Glib::PropertyProxy_ReadOnly<bool> property_dump() const;
00193 #endif //#GLIBMM_PROPERTIES_ENABLED
00194
00195 #ifdef GLIBMM_PROPERTIES_ENABLED
00196
00202 Glib::PropertyProxy<bool> property_signal_handoffs() ;
00203 #endif //#GLIBMM_PROPERTIES_ENABLED
00204
00205 #ifdef GLIBMM_PROPERTIES_ENABLED
00206
00212 Glib::PropertyProxy_ReadOnly<bool> property_signal_handoffs() const;
00213 #endif //#GLIBMM_PROPERTIES_ENABLED
00214
00215 #ifdef GLIBMM_PROPERTIES_ENABLED
00216
00222 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_last_message() const;
00223 #endif //#GLIBMM_PROPERTIES_ENABLED
00224
00225
00226 #ifdef GLIBMM_PROPERTIES_ENABLED
00227
00233 Glib::PropertyProxy<bool> property_can_activate_push() ;
00234 #endif //#GLIBMM_PROPERTIES_ENABLED
00235
00236 #ifdef GLIBMM_PROPERTIES_ENABLED
00237
00243 Glib::PropertyProxy_ReadOnly<bool> property_can_activate_push() const;
00244 #endif //#GLIBMM_PROPERTIES_ENABLED
00245
00246 #ifdef GLIBMM_PROPERTIES_ENABLED
00247
00253 Glib::PropertyProxy<bool> property_can_activate_pull() ;
00254 #endif //#GLIBMM_PROPERTIES_ENABLED
00255
00256 #ifdef GLIBMM_PROPERTIES_ENABLED
00257
00263 Glib::PropertyProxy_ReadOnly<bool> property_can_activate_pull() const;
00264 #endif //#GLIBMM_PROPERTIES_ENABLED
00265
00266 #ifdef GLIBMM_PROPERTIES_ENABLED
00267
00273 Glib::PropertyProxy<int> property_num_buffers() ;
00274 #endif //#GLIBMM_PROPERTIES_ENABLED
00275
00276 #ifdef GLIBMM_PROPERTIES_ENABLED
00277
00283 Glib::PropertyProxy_ReadOnly<int> property_num_buffers() const;
00284 #endif //#GLIBMM_PROPERTIES_ENABLED
00285
00286
00292 Glib::SignalProxy2< void,const Glib::RefPtr<Gst::Buffer>&,const Glib::RefPtr<Gst::Pad>& > signal_handoff();
00293
00294
00300 Glib::SignalProxy2< void,const Glib::RefPtr<Gst::Buffer>&,const Glib::RefPtr<Gst::Pad>& > signal_preroll_handoff();
00301
00302
00303 public:
00304
00305 public:
00306
00307 #ifdef GLIBMM_VFUNCS_ENABLED
00308 #endif //GLIBMM_VFUNCS_ENABLED
00309
00310 protected:
00311
00312 #ifdef GLIBMM_VFUNCS_ENABLED
00313 #endif //GLIBMM_VFUNCS_ENABLED
00314
00315
00316 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00317 virtual void on_handoff(const Glib::RefPtr<Gst::Buffer>& arg0, const Glib::RefPtr<Gst::Pad>& arg1);
00318 virtual void on_preroll_handoff(const Glib::RefPtr<Gst::Buffer>& arg0, const Glib::RefPtr<Gst::Pad>& arg1);
00319 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00320
00321
00322 };
00323
00324 }
00325
00326
00327 namespace Glib
00328 {
00337 Glib::RefPtr<Gst::FakeSink> wrap(GstFakeSink* object, bool take_copy = false);
00338 }
00339
00340
00341 #endif
00342