00001
00002
00003 #ifndef _GSTREAMERMM_FILESINK_H
00004 #define _GSTREAMERMM_FILESINK_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include <gstreamermm/basesink.h>
00031 #include <gstreamermm/urihandler.h>
00032
00033
00034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00035 typedef struct _GstFileSink GstFileSink;
00036 typedef struct _GstFileSinkClass GstFileSinkClass;
00037 #endif
00038
00039
00040 namespace Gst
00041 { class FileSink_Class; }
00042 namespace Gst
00043 {
00044
00050 enum FileSinkBufferMode
00051 {
00052 FILE_SINK_BUFFER_MODE_DEFAULT = -1,
00053 FILE_SINK_BUFFER_MODE_FULL,
00054 FILE_SINK_BUFFER_MODE_LINE,
00055 FILE_SINK_BUFFER_MODE_UNBUFFERED
00056 };
00057
00058 }
00059
00060
00061 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00062 namespace Glib
00063 {
00064
00065 template <>
00066 class Value<Gst::FileSinkBufferMode> : public Glib::Value_Enum<Gst::FileSinkBufferMode>
00067 {
00068 public:
00069 static GType value_type() G_GNUC_CONST;
00070 };
00071
00072 }
00073 #endif
00074
00075
00076 namespace Gst
00077 {
00078
00079
00090 class FileSink
00091 : public Gst::BaseSink, public Gst::URIHandler
00092 {
00093
00094 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00095
00096 public:
00097 typedef FileSink CppObjectType;
00098 typedef FileSink_Class CppClassType;
00099 typedef GstFileSink BaseObjectType;
00100 typedef GstFileSinkClass BaseClassType;
00101
00102 private: friend class FileSink_Class;
00103 static CppClassType filesink_class_;
00104
00105 private:
00106
00107 FileSink(const FileSink&);
00108 FileSink& operator=(const FileSink&);
00109
00110 protected:
00111 explicit FileSink(const Glib::ConstructParams& construct_params);
00112 explicit FileSink(GstFileSink* castitem);
00113
00114 #endif
00115
00116 public:
00117 virtual ~FileSink();
00118
00119 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00120 static GType get_type() G_GNUC_CONST;
00121
00122
00123 static GType get_base_type() G_GNUC_CONST;
00124 #endif
00125
00127 GstFileSink* gobj() { return reinterpret_cast<GstFileSink*>(gobject_); }
00128
00130 const GstFileSink* gobj() const { return reinterpret_cast<GstFileSink*>(gobject_); }
00131
00133 GstFileSink* gobj_copy();
00134
00135 private:
00136
00137
00138 protected:
00139 FileSink();
00140 FileSink(const Glib::ustring& name);
00141
00142 public:
00146 static Glib::RefPtr<FileSink> create();
00147
00148
00152 static Glib::RefPtr<FileSink> create(const Glib::ustring& name);
00153
00154
00155 #ifdef GLIBMM_PROPERTIES_ENABLED
00156
00162 Glib::PropertyProxy<Glib::ustring> property_location() ;
00163 #endif //#GLIBMM_PROPERTIES_ENABLED
00164
00165 #ifdef GLIBMM_PROPERTIES_ENABLED
00166
00172 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_location() const;
00173 #endif //#GLIBMM_PROPERTIES_ENABLED
00174
00175 #ifdef GLIBMM_PROPERTIES_ENABLED
00176
00182 Glib::PropertyProxy<Gst::FileSinkBufferMode> property_buffer_mode() ;
00183 #endif //#GLIBMM_PROPERTIES_ENABLED
00184
00185 #ifdef GLIBMM_PROPERTIES_ENABLED
00186
00192 Glib::PropertyProxy_ReadOnly<Gst::FileSinkBufferMode> property_buffer_mode() const;
00193 #endif //#GLIBMM_PROPERTIES_ENABLED
00194
00195 #ifdef GLIBMM_PROPERTIES_ENABLED
00196
00202 Glib::PropertyProxy<guint> property_buffer_size() ;
00203 #endif //#GLIBMM_PROPERTIES_ENABLED
00204
00205 #ifdef GLIBMM_PROPERTIES_ENABLED
00206
00212 Glib::PropertyProxy_ReadOnly<guint> property_buffer_size() const;
00213 #endif //#GLIBMM_PROPERTIES_ENABLED
00214
00215
00216 public:
00217
00218 public:
00219
00220 #ifdef GLIBMM_VFUNCS_ENABLED
00221 #endif //GLIBMM_VFUNCS_ENABLED
00222
00223 protected:
00224
00225 #ifdef GLIBMM_VFUNCS_ENABLED
00226 #endif //GLIBMM_VFUNCS_ENABLED
00227
00228
00229 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00230 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00231
00232
00233 };
00234
00235 }
00236
00237
00238 namespace Glib
00239 {
00248 Glib::RefPtr<Gst::FileSink> wrap(GstFileSink* object, bool take_copy = false);
00249 }
00250
00251
00252 #endif
00253