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 #include <gstreamermm/basesink.h>
00029 #include <gstreamermm/urihandler.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstFileSink GstFileSink;
00034 typedef struct _GstFileSinkClass GstFileSinkClass;
00035 #endif
00036
00037
00038 namespace Gst
00039 { class FileSink_Class; }
00040 namespace Gst
00041 {
00042
00048 enum FileSinkBufferMode
00049 {
00050 FILE_SINK_BUFFER_MODE_DEFAULT = -1,
00051 FILE_SINK_BUFFER_MODE_FULL,
00052 FILE_SINK_BUFFER_MODE_LINE,
00053 FILE_SINK_BUFFER_MODE_UNBUFFERED
00054 };
00055
00056 }
00057
00058
00059 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00060 namespace Glib
00061 {
00062
00063 template <>
00064 class Value<Gst::FileSinkBufferMode> : public Glib::Value_Enum<Gst::FileSinkBufferMode>
00065 {
00066 public:
00067 static GType value_type() G_GNUC_CONST;
00068 };
00069
00070 }
00071 #endif
00072
00073
00074 namespace Gst
00075 {
00076
00077
00088 class FileSink
00089 : public Gst::BaseSink, public Gst::URIHandler
00090 {
00091
00092 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00093
00094 public:
00095 typedef FileSink CppObjectType;
00096 typedef FileSink_Class CppClassType;
00097 typedef GstFileSink BaseObjectType;
00098 typedef GstFileSinkClass BaseClassType;
00099
00100 private: friend class FileSink_Class;
00101 static CppClassType filesink_class_;
00102
00103 private:
00104
00105 FileSink(const FileSink&);
00106 FileSink& operator=(const FileSink&);
00107
00108 protected:
00109 explicit FileSink(const Glib::ConstructParams& construct_params);
00110 explicit FileSink(GstFileSink* castitem);
00111
00112 #endif
00113
00114 public:
00115 virtual ~FileSink();
00116
00117 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00118 static GType get_type() G_GNUC_CONST;
00119 static GType get_base_type() G_GNUC_CONST;
00120 #endif
00121
00123 GstFileSink* gobj() { return reinterpret_cast<GstFileSink*>(gobject_); }
00124
00126 const GstFileSink* gobj() const { return reinterpret_cast<GstFileSink*>(gobject_); }
00127
00129 GstFileSink* gobj_copy();
00130
00131 private:
00132
00133
00134 protected:
00135 FileSink();
00136 FileSink(const Glib::ustring& name);
00137
00138 public:
00142 static Glib::RefPtr<FileSink> create();
00143
00144
00148 static Glib::RefPtr<FileSink> create(const Glib::ustring& name);
00149
00150
00151 #ifdef GLIBMM_PROPERTIES_ENABLED
00152
00158 Glib::PropertyProxy<Glib::ustring> property_location() ;
00159 #endif //#GLIBMM_PROPERTIES_ENABLED
00160
00161 #ifdef GLIBMM_PROPERTIES_ENABLED
00162
00168 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_location() const;
00169 #endif //#GLIBMM_PROPERTIES_ENABLED
00170
00171 #ifdef GLIBMM_PROPERTIES_ENABLED
00172
00178 Glib::PropertyProxy<FileSinkBufferMode> property_buffer_mode() ;
00179 #endif //#GLIBMM_PROPERTIES_ENABLED
00180
00181 #ifdef GLIBMM_PROPERTIES_ENABLED
00182
00188 Glib::PropertyProxy_ReadOnly<FileSinkBufferMode> property_buffer_mode() const;
00189 #endif //#GLIBMM_PROPERTIES_ENABLED
00190
00191 #ifdef GLIBMM_PROPERTIES_ENABLED
00192
00198 Glib::PropertyProxy<guint> property_buffer_size() ;
00199 #endif //#GLIBMM_PROPERTIES_ENABLED
00200
00201 #ifdef GLIBMM_PROPERTIES_ENABLED
00202
00208 Glib::PropertyProxy_ReadOnly<guint> property_buffer_size() const;
00209 #endif //#GLIBMM_PROPERTIES_ENABLED
00210
00211
00212 public:
00213
00214 public:
00215
00216 #ifdef GLIBMM_VFUNCS_ENABLED
00217 #endif //GLIBMM_VFUNCS_ENABLED
00218
00219 protected:
00220
00221 #ifdef GLIBMM_VFUNCS_ENABLED
00222 #endif //GLIBMM_VFUNCS_ENABLED
00223
00224
00225 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00226 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00227
00228
00229 };
00230
00231 }
00232
00233
00234 namespace Glib
00235 {
00244 Glib::RefPtr<Gst::FileSink> wrap(GstFileSink* object, bool take_copy = false);
00245 }
00246
00247
00248 #endif
00249