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 #include <gst/gstformat.h>
00029
00030
00031 namespace Gst
00032 {
00033
00034
00035 template <class CppType>
00036 class IteratorBasic;
00037
00043 enum Format
00044 {
00045 FORMAT_UNDEFINED,
00046 FORMAT_DEFAULT,
00047 FORMAT_BYTES,
00048 FORMAT_TIME,
00049 FORMAT_BUFFERS,
00050 FORMAT_PERCENT
00051 };
00052
00053 }
00054
00055
00056 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00057 namespace Glib
00058 {
00059
00060 template <>
00061 class Value<Gst::Format> : public Glib::Value_Enum<Gst::Format>
00062 {
00063 public:
00064 static GType value_type() G_GNUC_CONST;
00065 };
00066
00067 }
00068 #endif
00069
00070
00071 namespace Gst
00072 {
00073
00074
00078 class FormatDefinition
00079 {
00080 public:
00081 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00082 typedef FormatDefinition CppObjectType;
00083 typedef GstFormatDefinition BaseObjectType;
00084 #endif
00085
00086 private:
00087
00088
00089 public:
00091 FormatDefinition();
00092
00097 FormatDefinition(GstFormatDefinition* castitem);
00098
00100 Gst::Format value;
00101
00103 Glib::ustring nick;
00104
00106 Glib::ustring description;
00107
00109 Glib::QueryQuark quark;
00110
00111
00112 };
00113
00114 namespace Enums
00115 {
00116
00122 Glib::ustring get_name(Format format);
00123
00129 Glib::QueryQuark get_quark(Format format);
00130
00131 }
00132
00141 Format register_format(const Glib::ustring& nick, const Glib::ustring&
00142 description);
00143
00150 Format get_format(const Glib::ustring& nick);
00151
00158 bool formats_contain(const Glib::ArrayHandle<Format>& formats, Format format);
00159
00167 bool get_format_details(Format format, FormatDefinition& def);
00168
00172 IteratorBasic<const FormatDefinition> iterate_format_definitions();
00173
00174 }
00175
00176
00177 #endif
00178