00001
00002
00003 #ifndef _GSTREAMERMM_FILESRC_H
00004 #define _GSTREAMERMM_FILESRC_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/basesrc.h>
00029 #include <gstreamermm/urihandler.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstFileSrc GstFileSrc;
00034 typedef struct _GstFileSrcClass GstFileSrcClass;
00035 #endif
00036
00037
00038 namespace Gst
00039 { class FileSrc_Class; }
00040 namespace Gst
00041 {
00042
00043
00054 class FileSrc
00055 : public Gst::BaseSrc, public Gst::URIHandler
00056 {
00057
00058 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00059
00060 public:
00061 typedef FileSrc CppObjectType;
00062 typedef FileSrc_Class CppClassType;
00063 typedef GstFileSrc BaseObjectType;
00064 typedef GstFileSrcClass BaseClassType;
00065
00066 private: friend class FileSrc_Class;
00067 static CppClassType filesrc_class_;
00068
00069 private:
00070
00071 FileSrc(const FileSrc&);
00072 FileSrc& operator=(const FileSrc&);
00073
00074 protected:
00075 explicit FileSrc(const Glib::ConstructParams& construct_params);
00076 explicit FileSrc(GstFileSrc* castitem);
00077
00078 #endif
00079
00080 public:
00081 virtual ~FileSrc();
00082
00083 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00084 static GType get_type() G_GNUC_CONST;
00085 static GType get_base_type() G_GNUC_CONST;
00086 #endif
00087
00089 GstFileSrc* gobj() { return reinterpret_cast<GstFileSrc*>(gobject_); }
00090
00092 const GstFileSrc* gobj() const { return reinterpret_cast<GstFileSrc*>(gobject_); }
00093
00095 GstFileSrc* gobj_copy();
00096
00097 private:
00098
00099
00100 protected:
00101 FileSrc();
00102 FileSrc(const Glib::ustring& name);
00103
00104 public:
00108 static Glib::RefPtr<FileSrc> create();
00109
00110
00114 static Glib::RefPtr<FileSrc> create(const Glib::ustring& name);
00115
00116
00117 #ifdef GLIBMM_PROPERTIES_ENABLED
00118
00124 Glib::PropertyProxy<Glib::ustring> property_location() ;
00125 #endif //#GLIBMM_PROPERTIES_ENABLED
00126
00127 #ifdef GLIBMM_PROPERTIES_ENABLED
00128
00134 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_location() const;
00135 #endif //#GLIBMM_PROPERTIES_ENABLED
00136
00137 #ifdef GLIBMM_PROPERTIES_ENABLED
00138
00144 Glib::PropertyProxy_ReadOnly<int> property_fd() const;
00145 #endif //#GLIBMM_PROPERTIES_ENABLED
00146
00147
00148 #ifdef GLIBMM_PROPERTIES_ENABLED
00149
00155 Glib::PropertyProxy<unsigned long> property_mmapsize() ;
00156 #endif //#GLIBMM_PROPERTIES_ENABLED
00157
00158 #ifdef GLIBMM_PROPERTIES_ENABLED
00159
00165 Glib::PropertyProxy_ReadOnly<unsigned long> property_mmapsize() const;
00166 #endif //#GLIBMM_PROPERTIES_ENABLED
00167
00168 #ifdef GLIBMM_PROPERTIES_ENABLED
00169
00175 Glib::PropertyProxy<bool> property_sequential() ;
00176 #endif //#GLIBMM_PROPERTIES_ENABLED
00177
00178 #ifdef GLIBMM_PROPERTIES_ENABLED
00179
00185 Glib::PropertyProxy_ReadOnly<bool> property_sequential() const;
00186 #endif //#GLIBMM_PROPERTIES_ENABLED
00187
00188 #ifdef GLIBMM_PROPERTIES_ENABLED
00189
00195 Glib::PropertyProxy<bool> property_touch() ;
00196 #endif //#GLIBMM_PROPERTIES_ENABLED
00197
00198 #ifdef GLIBMM_PROPERTIES_ENABLED
00199
00205 Glib::PropertyProxy_ReadOnly<bool> property_touch() const;
00206 #endif //#GLIBMM_PROPERTIES_ENABLED
00207
00208 #ifdef GLIBMM_PROPERTIES_ENABLED
00209
00215 Glib::PropertyProxy<bool> property_use_mmap() ;
00216 #endif //#GLIBMM_PROPERTIES_ENABLED
00217
00218 #ifdef GLIBMM_PROPERTIES_ENABLED
00219
00225 Glib::PropertyProxy_ReadOnly<bool> property_use_mmap() const;
00226 #endif //#GLIBMM_PROPERTIES_ENABLED
00227
00228
00229 public:
00230
00231 public:
00232
00233 #ifdef GLIBMM_VFUNCS_ENABLED
00234 #endif //GLIBMM_VFUNCS_ENABLED
00235
00236 protected:
00237
00238 #ifdef GLIBMM_VFUNCS_ENABLED
00239 #endif //GLIBMM_VFUNCS_ENABLED
00240
00241
00242 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00243 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00244
00245
00246 };
00247
00248 }
00249
00250
00251 namespace Glib
00252 {
00261 Glib::RefPtr<Gst::FileSrc> wrap(GstFileSrc* object, bool take_copy = false);
00262 }
00263
00264
00265 #endif
00266