00001
00002
00003 #ifndef _GSTREAMERMM_FORMAT_H
00004 #define _GSTREAMERMM_FORMAT_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 <gst/gstformat.h>
00031
00032
00033 namespace Gst
00034 {
00035
00036
00037 template <class CppType>
00038 class IteratorBasic;
00039
00045 enum Format
00046 {
00047 FORMAT_UNDEFINED,
00048 FORMAT_DEFAULT,
00049 FORMAT_BYTES,
00050 FORMAT_TIME,
00051 FORMAT_BUFFERS,
00052 FORMAT_PERCENT
00053 };
00054
00055 }
00056
00057
00058 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00059 namespace Glib
00060 {
00061
00062 template <>
00063 class Value<Gst::Format> : public Glib::Value_Enum<Gst::Format>
00064 {
00065 public:
00066 static GType value_type() G_GNUC_CONST;
00067 };
00068
00069 }
00070 #endif
00071
00072
00073 namespace Gst
00074 {
00075
00076
00080 class FormatDefinition
00081 {
00082 public:
00083 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00084 typedef FormatDefinition CppObjectType;
00085 typedef GstFormatDefinition BaseObjectType;
00086 #endif
00087
00088 private:
00089
00090
00091 public:
00093 FormatDefinition();
00094
00099 FormatDefinition(GstFormatDefinition* castitem);
00100
00102 Gst::Format value;
00103
00105 Glib::ustring nick;
00106
00108 Glib::ustring description;
00109
00111 Glib::QueryQuark quark;
00112
00113
00114 };
00115
00116 namespace Enums
00117 {
00118
00124 Glib::ustring get_name(Format format);
00125
00131 Glib::QueryQuark get_quark(Format format);
00132
00133 }
00134
00143 Format register_format(const Glib::ustring& nick, const Glib::ustring&
00144 description);
00145
00152 Format get_format(const Glib::ustring& nick);
00153
00160 bool formats_contain(const Glib::ArrayHandle<Format>& formats, Format format);
00161
00169 bool get_format_details(Format format, FormatDefinition& def);
00170
00174 IteratorBasic<const FormatDefinition> iterate_format_definitions();
00175
00176 }
00177
00178
00179 #endif
00180