00001
00002
00003 #ifndef _GSTMM_ENUMS_H
00004 #define _GSTMM_ENUMS_H
00005
00006
00007 #include <glibmm.h>
00008
00009 #include <gst/gstevent.h>
00010 #include <gst/gstelement.h>
00011
00012
00013 namespace Gst
00014 {
00015
00021 enum BusSyncReply
00022 {
00023 BUS_DROP,
00024 BUS_PASS,
00025 BUS_ASYNC
00026 };
00027
00028 }
00029
00030
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 namespace Glib
00033 {
00034
00035 template <>
00036 class Value<Gst::BusSyncReply> : public Glib::Value_Enum<Gst::BusSyncReply>
00037 {
00038 public:
00039 static GType value_type() G_GNUC_CONST;
00040 };
00041
00042 }
00043 #endif
00044
00045
00046 namespace Gst
00047 {
00048
00052 enum ClockEntryType
00053 {
00054 CLOCK_ENTRY_SINGLE,
00055 CLOCK_ENTRY_PERIODIC
00056 };
00057
00058 }
00059
00060
00061 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00062 namespace Glib
00063 {
00064
00065 template <>
00066 class Value<Gst::ClockEntryType> : public Glib::Value_Enum<Gst::ClockEntryType>
00067 {
00068 public:
00069 static GType value_type() G_GNUC_CONST;
00070 };
00071
00072 }
00073 #endif
00074
00075
00076 namespace Gst
00077 {
00078
00082 enum ClockReturn
00083 {
00084 CLOCK_OK,
00085 CLOCK_EARLY,
00086 CLOCK_UNSCHEDULED,
00087 CLOCK_BUSY,
00088 CLOCK_BADTIME,
00089 CLOCK_ERROR,
00090 CLOCK_UNSUPPORTED
00091 };
00092
00093 }
00094
00095
00096 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00097 namespace Glib
00098 {
00099
00100 template <>
00101 class Value<Gst::ClockReturn> : public Glib::Value_Enum<Gst::ClockReturn>
00102 {
00103 public:
00104 static GType value_type() G_GNUC_CONST;
00105 };
00106
00107 }
00108 #endif
00109
00110
00111 namespace Gst
00112 {
00113
00114
00115 enum EventType {
00116 EVENT_UNKNOWN = GST_EVENT_UNKNOWN,
00117
00118 EVENT_FLUSH_START = GST_EVENT_FLUSH_START,
00119 EVENT_FLUSH_STOP = GST_EVENT_FLUSH_STOP,
00120
00121 EVENT_EOS = GST_EVENT_EOS,
00122 EVENT_NEWSEGMENT = GST_EVENT_NEWSEGMENT,
00123 EVENT_TAG = GST_EVENT_TAG,
00124 EVENT_BUFFERSIZE = GST_EVENT_BUFFERSIZE,
00125
00126 EVENT_QOS = GST_EVENT_QOS,
00127 EVENT_SEEK = GST_EVENT_SEEK,
00128 EVENT_NAVIGATION = GST_EVENT_NAVIGATION,
00129 EVENT_LATENCY = GST_EVENT_LATENCY,
00130
00131
00132 EVENT_CUSTOM_UPSTREAM = GST_EVENT_CUSTOM_UPSTREAM,
00133 EVENT_CUSTOM_DOWNSTREAM = GST_EVENT_CUSTOM_DOWNSTREAM,
00134 EVENT_CUSTOM_DOWNSTREAM_OOB = GST_EVENT_CUSTOM_DOWNSTREAM_OOB,
00135 EVENT_CUSTOM_BOTH = GST_EVENT_CUSTOM_BOTH,
00136 EVENT_CUSTOM_BOTH_OOB = GST_EVENT_CUSTOM_BOTH_OOB
00137 };
00138
00142 enum Format
00143 {
00144 FORMAT_UNDEFINED,
00145 FORMAT_DEFAULT,
00146 FORMAT_BYTES,
00147 FORMAT_TIME,
00148 FORMAT_BUFFERS,
00149 FORMAT_PERCENT
00150 };
00151
00152 }
00153
00154
00155 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00156 namespace Glib
00157 {
00158
00159 template <>
00160 class Value<Gst::Format> : public Glib::Value_Enum<Gst::Format>
00161 {
00162 public:
00163 static GType value_type() G_GNUC_CONST;
00164 };
00165
00166 }
00167 #endif
00168
00169
00170 namespace Gst
00171 {
00172
00176 enum IteratorItem
00177 {
00178 ITERATOR_ITEM_SKIP,
00179 ITERATOR_ITEM_PASS,
00180 ITERATOR_ITEM_END
00181 };
00182
00183 }
00184
00185
00186 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00187 namespace Glib
00188 {
00189
00190 template <>
00191 class Value<Gst::IteratorItem> : public Glib::Value_Enum<Gst::IteratorItem>
00192 {
00193 public:
00194 static GType value_type() G_GNUC_CONST;
00195 };
00196
00197 }
00198 #endif
00199
00200
00201 namespace Gst
00202 {
00203
00207 enum IteratorResult
00208 {
00209 ITERATOR_DONE,
00210 ITERATOR_OK,
00211 ITERATOR_RESYNC,
00212 ITERATOR_ERROR
00213 };
00214
00215 }
00216
00217
00218 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00219 namespace Glib
00220 {
00221
00222 template <>
00223 class Value<Gst::IteratorResult> : public Glib::Value_Enum<Gst::IteratorResult>
00224 {
00225 public:
00226 static GType value_type() G_GNUC_CONST;
00227 };
00228
00229 }
00230 #endif
00231
00232
00233 namespace Gst
00234 {
00235
00236
00237 enum MessageType
00238 {
00239 MESSAGE_UNKNOWN = 0,
00240 MESSAGE_EOS = (1 << 0),
00241 MESSAGE_ERROR = (1 << 1),
00242 MESSAGE_WARNING = (1 << 2),
00243 MESSAGE_INFO = (1 << 3),
00244 MESSAGE_TAG = (1 << 4),
00245 MESSAGE_BUFFERING = (1 << 5),
00246 MESSAGE_STATE_CHANGED = (1 << 6),
00247 MESSAGE_STATE_DIRTY = (1 << 7),
00248 MESSAGE_STEP_DONE = (1 << 8),
00249 MESSAGE_CLOCK_PROVIDE = (1 << 9),
00250 MESSAGE_CLOCK_LOST= (1 << 10),
00251 MESSAGE_NEW_CLOCK = (1 << 11),
00252 MESSAGE_STRUCTURE_CHANGE = (1 << 12),
00253 MESSAGE_STREAM_STATUS = (1 << 13),
00254 MESSAGE_APPLICATION = (1 << 14),
00255 MESSAGE_ELEMENT = (1 << 15),
00256 MESSAGE_SEGMENT_START = (1 << 16),
00257 MESSAGE_SEGMENT_DONE = (1 << 17),
00258 MESSAGE_DURATION = (1 << 18),
00259 MESSAGE_LATENCY = (1 << 19),
00260 MESSAGE_ASYNC_START = (1 << 20),
00261 MESSAGE_ASYNC_DONE= (1 << 21),
00262 MESSAGE_ANY = ~0
00263 };
00264
00265 enum MessageTypeApplication
00266 {
00267 DUMMY_MESSAGE_APPLICATION = (1 << 14)
00268 };
00269
00270 enum MessageTypeAsyncDone
00271 {
00272 DUMMY_MESSAGE_ASYNC_DONE= (1 << 21)
00273 };
00274
00275 enum MessageTypeAsyncStart
00276 {
00277 DUMMY_MESSAGE_ASYNC_START = (1 << 20)
00278 };
00279
00280 enum MessageTypeBuffering
00281 {
00282 DUMMY_MESSAGE_BUFFERING = (1 << 5)
00283 };
00284
00285 enum MessageTypeClockLost
00286 {
00287 DUMMY_MESSAGE_CLOCK_LOST= (1 << 10)
00288 };
00289
00290 enum MessageTypeClockProvide
00291 {
00292 DUMMY_MESSAGE_CLOCK_PROVIDE = (1 << 9)
00293 };
00294
00295 enum MessageTypeDuration
00296 {
00297 DUMMY_MESSAGE_DURATION = (1 << 18)
00298 };
00299
00300 enum MessageTypeElement
00301 {
00302 DUMMY_MESSAGE_ELEMENT = (1 << 15)
00303 };
00304
00305 enum MessageTypeEos
00306 {
00307 DUMMY_MESSAGE_EOS = (1 << 0)
00308 };
00309
00310 enum MessageTypeError
00311 {
00312 DUMMY_MESSAGE_ERROR = (1 << 1)
00313 };
00314
00315 enum MessageTypeInfo
00316 {
00317 DUMMY_MESSAGE_INFO = (1 << 3)
00318 };
00319
00320 enum MessageTypeLatency
00321 {
00322 DUMMY_MESSAGE_LATENCY = (1 << 19)
00323 };
00324
00325 enum MessageTypeNewClock
00326 {
00327 DUMMY_MESSAGE_NEW_CLOCK = (1 << 11)
00328 };
00329
00330 enum MessageTypeTag
00331 {
00332 DUMMY_MESSAGE_TAG = (1 << 4)
00333 };
00334
00335 enum MessageTypeStateChanged
00336 {
00337 DUMMY_MESSAGE_STATE_CHANGED = (1 << 6)
00338 };
00339
00340 enum MessageTypeStateDirty
00341 {
00342 DUMMY_MESSAGE_STATE_DIRTY = (1 << 7)
00343 };
00344
00345 enum MessageTypeSegmentDone
00346 {
00347 DUMMY_MESSAGE_SEGMENT_DONE = (1 << 17)
00348 };
00349
00350 enum MessageTypeSegmentStart
00351 {
00352 DUMMY_MESSAGE_SEGMENT_START = (1 << 16)
00353 };
00354
00355 enum MessageTypeWarning
00356 {
00357 DUMMY_MESSAGE_WARNING = (1 << 2)
00358 };
00359
00363 enum PadDirection
00364 {
00365 PAD_UNKNOWN,
00366 PAD_SRC,
00367 PAD_SINK
00368 };
00369
00370 }
00371
00372
00373 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00374 namespace Glib
00375 {
00376
00377 template <>
00378 class Value<Gst::PadDirection> : public Glib::Value_Enum<Gst::PadDirection>
00379 {
00380 public:
00381 static GType value_type() G_GNUC_CONST;
00382 };
00383
00384 }
00385 #endif
00386
00387
00388 namespace Gst
00389 {
00390
00394 enum PadLinkReturn
00395 {
00396 PAD_LINK_OK = 0,
00397 PAD_LINK_WRONG_HIERARCHY = -1,
00398 PAD_LINK_WAS_LINKED = -2,
00399 PAD_LINK_WRONG_DIRECTION = -3,
00400 PAD_LINK_NOFORMAT = -4,
00401 PAD_LINK_NOSCHED = -5,
00402 PAD_LINK_REFUSED = -6
00403 };
00404
00405 }
00406
00407
00408 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00409 namespace Glib
00410 {
00411
00412 template <>
00413 class Value<Gst::PadLinkReturn> : public Glib::Value_Enum<Gst::PadLinkReturn>
00414 {
00415 public:
00416 static GType value_type() G_GNUC_CONST;
00417 };
00418
00419 }
00420 #endif
00421
00422
00423 namespace Gst
00424 {
00425
00429 enum PadPresence
00430 {
00431 PAD_ALWAYS,
00432 PAD_SOMETIMES,
00433 PAD_REQUEST
00434 };
00435
00436 }
00437
00438
00439 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00440 namespace Glib
00441 {
00442
00443 template <>
00444 class Value<Gst::PadPresence> : public Glib::Value_Enum<Gst::PadPresence>
00445 {
00446 public:
00447 static GType value_type() G_GNUC_CONST;
00448 };
00449
00450 }
00451 #endif
00452
00453
00454 namespace Gst
00455 {
00456
00460 enum QueryType
00461 {
00462 QUERY_NONE,
00463 QUERY_POSITION,
00464 QUERY_DURATION,
00465 QUERY_LATENCY,
00466 QUERY_JITTER,
00467 QUERY_RATE,
00468 QUERY_SEEKING,
00469 QUERY_SEGMENT,
00470 QUERY_CONVERT,
00471 QUERY_FORMATS
00472 };
00473
00474 }
00475
00476
00477 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00478 namespace Glib
00479 {
00480
00481 template <>
00482 class Value<Gst::QueryType> : public Glib::Value_Enum<Gst::QueryType>
00483 {
00484 public:
00485 static GType value_type() G_GNUC_CONST;
00486 };
00487
00488 }
00489 #endif
00490
00491
00492 namespace Gst
00493 {
00494
00495
00496 enum SeekFlags
00497 {
00498 SEEK_FLAG_NONE = 0,
00499 SEEK_FLAG_FLUSH = (1 << 0),
00500 SEEK_FLAG_ACCURATE = (1 << 1),
00501 SEEK_FLAG_KEY_UNIT = (1 << 2),
00502 SEEK_FLAG_SEGMENT = (1 << 3)
00503 };
00504
00508 enum SeekType
00509 {
00510 SEEK_TYPE_NONE,
00511 SEEK_TYPE_CUR,
00512 SEEK_TYPE_SET,
00513 SEEK_TYPE_END
00514 };
00515
00516 }
00517
00518
00519 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00520 namespace Glib
00521 {
00522
00523 template <>
00524 class Value<Gst::SeekType> : public Glib::Value_Enum<Gst::SeekType>
00525 {
00526 public:
00527 static GType value_type() G_GNUC_CONST;
00528 };
00529
00530 }
00531 #endif
00532
00533
00534 namespace Gst
00535 {
00536
00540 enum State
00541 {
00542 STATE_VOID_PENDING,
00543 STATE_NULL,
00544 STATE_READY,
00545 STATE_PAUSED,
00546 STATE_PLAYING
00547 };
00548
00549 }
00550
00551
00552 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00553 namespace Glib
00554 {
00555
00556 template <>
00557 class Value<Gst::State> : public Glib::Value_Enum<Gst::State>
00558 {
00559 public:
00560 static GType value_type() G_GNUC_CONST;
00561 };
00562
00563 }
00564 #endif
00565
00566
00567 namespace Gst
00568 {
00569
00570
00571 enum StateChange
00572 {
00573 STATE_CHANGE_NULL_TO_READY = GST_STATE_CHANGE_NULL_TO_READY,
00574 STATE_CHANGE_READY_TO_PAUSED = GST_STATE_CHANGE_READY_TO_PAUSED,
00575 STATE_CHANGE_PAUSED_TO_PLAYING = GST_STATE_CHANGE_PAUSED_TO_PLAYING,
00576 STATE_CHANGE_PLAYING_TO_PAUSED = GST_STATE_CHANGE_PLAYING_TO_PAUSED,
00577 STATE_CHANGE_PAUSED_TO_READY = GST_STATE_CHANGE_PAUSED_TO_READY,
00578 STATE_CHANGE_READY_TO_NULL = GST_STATE_CHANGE_READY_TO_NULL
00579 };
00580
00584 enum StateChangeReturn
00585 {
00586 STATE_CHANGE_FAILURE,
00587 STATE_CHANGE_SUCCESS,
00588 STATE_CHANGE_ASYNC,
00589 STATE_CHANGE_NO_PREROLL
00590 };
00591
00592 }
00593
00594
00595 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00596 namespace Glib
00597 {
00598
00599 template <>
00600 class Value<Gst::StateChangeReturn> : public Glib::Value_Enum<Gst::StateChangeReturn>
00601 {
00602 public:
00603 static GType value_type() G_GNUC_CONST;
00604 };
00605
00606 }
00607 #endif
00608
00609
00610 namespace Gst
00611 {
00612
00616 enum TagMergeMode
00617 {
00618 TAG_MERGE_UNDEFINED,
00619 TAG_MERGE_REPLACE_ALL,
00620 TAG_MERGE_REPLACE,
00621 TAG_MERGE_APPEND,
00622 TAG_MERGE_PREPEND,
00623 TAG_MERGE_KEEP,
00624 TAG_MERGE_KEEP_ALL,
00625 TAG_MERGE_COUNT
00626 };
00627
00628 }
00629
00630
00631 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00632 namespace Glib
00633 {
00634
00635 template <>
00636 class Value<Gst::TagMergeMode> : public Glib::Value_Enum<Gst::TagMergeMode>
00637 {
00638 public:
00639 static GType value_type() G_GNUC_CONST;
00640 };
00641
00642 }
00643 #endif
00644
00645
00646 namespace Gst
00647 {
00648
00652 enum TagFlag
00653 {
00654 TAG_FLAG_UNDEFINED,
00655 TAG_FLAG_META,
00656 TAG_FLAG_ENCODED,
00657 TAG_FLAG_DECODED,
00658 TAG_FLAG_COUNT
00659 };
00660
00661 }
00662
00663
00664 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00665 namespace Glib
00666 {
00667
00668 template <>
00669 class Value<Gst::TagFlag> : public Glib::Value_Enum<Gst::TagFlag>
00670 {
00671 public:
00672 static GType value_type() G_GNUC_CONST;
00673 };
00674
00675 }
00676 #endif
00677
00678
00679 namespace Gst
00680 {
00681
00682
00683 Glib::ustring get_name(EventType t);
00684 Glib::ustring get_name(Format f);
00685 Glib::ustring get_name(MessageType t);
00686 Glib::ustring get_name(QueryType t);
00687 Glib::ustring get_name(State s);
00688 Glib::ustring get_name(StateChangeReturn s);
00689
00690 Glib::QueryQuark get_quark(EventType t);
00691 Glib::QueryQuark get_quark(Format f);
00692 Glib::QueryQuark get_quark(MessageType t);
00693 Glib::QueryQuark get_quark(QueryType t);
00694
00695 }
00696
00697
00698 #endif
00699