00001
00002
00003 #ifndef _GSTREAMERMM_TYPEFIND_H
00004 #define _GSTREAMERMM_TYPEFIND_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 <gst/gsttypefind.h>
00029
00030
00031 namespace Gst
00032 {
00033
00039 enum TypeFindProbability
00040 {
00041 TYPE_FIND_MINIMUM = 1,
00042 TYPE_FIND_POSSIBLE = 50,
00043 TYPE_FIND_LIKELY = 80,
00044 TYPE_FIND_NEARLY_CERTAIN = 99,
00045 TYPE_FIND_MAXIMUM = 100
00046 };
00047
00048 }
00049
00050
00051 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00052 namespace Glib
00053 {
00054
00055 template <>
00056 class Value<Gst::TypeFindProbability> : public Glib::Value_Enum<Gst::TypeFindProbability>
00057 {
00058 public:
00059 static GType value_type() G_GNUC_CONST;
00060 };
00061
00062 }
00063 #endif
00064
00065
00066 namespace Gst
00067 {
00068
00069
00070 class Caps;
00071 class Plugin;
00072
00079 class TypeFind
00080 {
00081
00082
00083
00084 public:
00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00086 typedef TypeFind CppObjectType;
00087 typedef GstTypeFind BaseObjectType;
00088
00089 static GType get_type() G_GNUC_CONST;
00090 #endif
00091
00092 TypeFind();
00093
00094 explicit TypeFind(const GstTypeFind* gobject);
00095
00097 GstTypeFind* gobj() { return &gobject_; }
00098
00100 const GstTypeFind* gobj() const { return &gobject_; }
00101
00102 protected:
00103 GstTypeFind gobject_;
00104
00105 private:
00106
00107
00108 public:
00112 typedef sigc::slot<void> SlotFind;
00113
00114 public:
00115
00116
00128 Glib::ArrayHandle<guint8> peek(gint64 offset, guint size) const;
00129
00130
00139 void suggest(guint probability, const Glib::RefPtr<const Gst::Caps>& caps) const;
00140
00141
00145 guint64 get_length() const;
00146
00163 static bool register_slot(const Glib::RefPtr<Gst::Plugin>& plugin, const Glib::ustring& name, guint rank, const SlotFind& find_slot, const Glib::StringArrayHandle& extensions, const Glib::RefPtr<const Gst::Caps>& caps);
00164
00179 static bool register_slot(const Glib::RefPtr<Gst::Plugin>& plugin, const Glib::ustring& name, guint rank, const SlotFind& find_slot, const Glib::RefPtr<const Gst::Caps>& caps);
00180
00195 static bool register_slot(const Glib::RefPtr<Gst::Plugin>& plugin, const Glib::ustring& name, guint rank, const SlotFind& find_slot, const Glib::StringArrayHandle& extensions);
00196
00209 static bool register_slot(const Glib::RefPtr<Gst::Plugin>& plugin, const Glib::ustring& name, guint rank, const SlotFind& find_slot);
00210
00224 static bool register_slot(const Glib::ustring& name, guint rank, const SlotFind& find_slot, const Glib::StringArrayHandle& extensions, const Glib::RefPtr<const Gst::Caps>& caps);
00225
00237 static bool register_slot(const Glib::ustring& name, guint rank, const SlotFind& find_slot, const Glib::RefPtr<const Gst::Caps>& caps);
00238
00250 static bool register_slot(const Glib::ustring& name, guint rank, const SlotFind& find_slot, const Glib::StringArrayHandle& extensions);
00251
00261 static bool register_slot(const Glib::ustring& name, guint rank, const SlotFind& find_slot);
00262
00263
00264 };
00265
00266 }
00267
00268
00269 namespace Glib
00270 {
00271
00276 Gst::TypeFind& wrap(GstTypeFind* object);
00277
00282 const Gst::TypeFind& wrap(const GstTypeFind* object);
00283
00284 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00285 template <>
00286 class Value<Gst::TypeFind> : public Glib::Value_Boxed<Gst::TypeFind>
00287 {};
00288 #endif
00289
00290 }
00291
00292
00293 #endif
00294