00001
00002
00003 #ifndef _GSTREAMERMM_FILESINK_H
00004 #define _GSTREAMERMM_FILESINK_H
00005
00006
00007 #include <glibmm.h>
00008
00009 #include <gstreamermm/basesink.h>
00010
00011
00012 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00013 typedef struct _GstFileSink GstFileSink;
00014 typedef struct _GstFileSinkClass GstFileSinkClass;
00015 #endif
00016
00017
00018 namespace Gst
00019 { class FileSink_Class; }
00020 namespace Gst
00021 {
00022
00028 enum FileSinkBufferMode
00029 {
00030 FILE_SINK_BUFFER_MODE_DEFAULT = -1,
00031 FILE_SINK_BUFFER_MODE_FULL,
00032 FILE_SINK_BUFFER_MODE_LINE,
00033 FILE_SINK_BUFFER_MODE_UNBUFFERED
00034 };
00035
00036 }
00037
00038
00039 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00040 namespace Glib
00041 {
00042
00043 template <>
00044 class Value<Gst::FileSinkBufferMode> : public Glib::Value_Enum<Gst::FileSinkBufferMode>
00045 {
00046 public:
00047 static GType value_type() G_GNUC_CONST;
00048 };
00049
00050 }
00051 #endif
00052
00053
00054 namespace Gst
00055 {
00056
00057
00067 class FileSink
00068 : public Gst::BaseSink
00069 {
00070
00071 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00072
00073 public:
00074 typedef FileSink CppObjectType;
00075 typedef FileSink_Class CppClassType;
00076 typedef GstFileSink BaseObjectType;
00077 typedef GstFileSinkClass BaseClassType;
00078
00079 private: friend class FileSink_Class;
00080 static CppClassType filesink_class_;
00081
00082 private:
00083
00084 FileSink(const FileSink&);
00085 FileSink& operator=(const FileSink&);
00086
00087 protected:
00088 explicit FileSink(const Glib::ConstructParams& construct_params);
00089 explicit FileSink(GstFileSink* castitem);
00090
00091 #endif
00092
00093 public:
00094 virtual ~FileSink();
00095
00096 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00097 static GType get_type() G_GNUC_CONST;
00098 static GType get_base_type() G_GNUC_CONST;
00099 #endif
00100
00102 GstFileSink* gobj() { return reinterpret_cast<GstFileSink*>(gobject_); }
00103
00105 const GstFileSink* gobj() const { return reinterpret_cast<GstFileSink*>(gobject_); }
00106
00108 GstFileSink* gobj_copy();
00109
00110 private:
00111
00112
00113 protected:
00114 FileSink();
00115 FileSink(const Glib::ustring& name);
00116
00117 public:
00121 static Glib::RefPtr<FileSink> create();
00122
00123
00127 static Glib::RefPtr<FileSink> create(const Glib::ustring& name);
00128
00129
00130 #ifdef GLIBMM_PROPERTIES_ENABLED
00131
00137 Glib::PropertyProxy<Glib::ustring> property_location() ;
00138 #endif //#GLIBMM_PROPERTIES_ENABLED
00139
00140 #ifdef GLIBMM_PROPERTIES_ENABLED
00141
00147 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_location() const;
00148 #endif //#GLIBMM_PROPERTIES_ENABLED
00149
00150 #ifdef GLIBMM_PROPERTIES_ENABLED
00151
00157 Glib::PropertyProxy<FileSinkBufferMode> property_buffer_mode() ;
00158 #endif //#GLIBMM_PROPERTIES_ENABLED
00159
00160 #ifdef GLIBMM_PROPERTIES_ENABLED
00161
00167 Glib::PropertyProxy_ReadOnly<FileSinkBufferMode> property_buffer_mode() const;
00168 #endif //#GLIBMM_PROPERTIES_ENABLED
00169
00170 #ifdef GLIBMM_PROPERTIES_ENABLED
00171
00177 Glib::PropertyProxy<guint> property_buffer_size() ;
00178 #endif //#GLIBMM_PROPERTIES_ENABLED
00179
00180 #ifdef GLIBMM_PROPERTIES_ENABLED
00181
00187 Glib::PropertyProxy_ReadOnly<guint> property_buffer_size() const;
00188 #endif //#GLIBMM_PROPERTIES_ENABLED
00189
00190
00191 public:
00192
00193 public:
00194
00195 #ifdef GLIBMM_VFUNCS_ENABLED
00196 #endif //GLIBMM_VFUNCS_ENABLED
00197
00198 protected:
00199
00200 #ifdef GLIBMM_VFUNCS_ENABLED
00201 #endif //GLIBMM_VFUNCS_ENABLED
00202
00203
00204 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00205 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00206
00207
00208 };
00209
00210 }
00211
00212
00213 namespace Glib
00214 {
00223 Glib::RefPtr<Gst::FileSink> wrap(GstFileSink* object, bool take_copy = false);
00224 }
00225
00226
00227 #endif
00228