QtGStreamer  0.10.2
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
enums.h
1 /*
2  Copyright (C) 2010 George Kiagiadakis <kiagiadakis.george@gmail.com>
3  Copyright (C) 2010 Collabora Multimedia.
4  @author Mauricio Piacentini <mauricio.piacentini@collabora.co.uk>
5 
6  This library is free software; you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation; either version 2.1 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 #ifndef QGST_ENUMS_H
20 #define QGST_ENUMS_H
21 
22 #include "global.h"
23 #include <QtCore/QFlags>
24 
25 namespace QGst {
26  enum MiniObjectFlag {
27  MiniObjectFlagReadonly = (1<<0),
28  /*padding*/
29  MiniObjectFlagLast = (1<<4)
30  };
31  Q_DECLARE_FLAGS(MiniObjectFlags, MiniObjectFlag);
32  Q_DECLARE_OPERATORS_FOR_FLAGS(MiniObjectFlags);
33 }
34 QGST_REGISTER_TYPE(QGst::MiniObjectFlags);
35 
36 
37 namespace QGst {
38  enum ObjectFlag {
39  ObjectDisposing = (1<<0),
40  ObjectFloating = (1<<1),
41  /*padding*/
42  ObjectFlagLast = (1<<4)
43  };
44  Q_DECLARE_FLAGS(ObjectFlags, ObjectFlag);
45  Q_DECLARE_OPERATORS_FOR_FLAGS(ObjectFlags);
46 }
47 QGST_REGISTER_TYPE(QGst::ObjectFlags);
48 
49 
50 namespace QGst {
51  enum State {
52  StateVoidPending = 0,
53  StateNull = 1,
54  StateReady = 2,
55  StatePaused = 3,
56  StatePlaying = 4
57  };
58 }
59 QGST_REGISTER_TYPE(QGst::State)
60 
61 namespace QGst {
62  enum StateChange {
63  StateChangeNullToReady = (StateNull<<3) | StateReady,
64  StateChangeReadyToPaused = (StateReady<<3) | StatePaused,
65  StateChangePausedToPlaying = (StatePaused<<3) | StatePlaying,
66  StateChangePlayingToPaused = (StatePlaying<<3) | StatePaused,
67  StateChangePausedToReady = (StatePaused<<3) | StateReady,
68  StateChangeReadyToNull = (StateReady<<3) | StateNull
69  };
70 }
71 QGST_REGISTER_TYPE(QGst::StateChange)
72 
73 namespace QGst {
74  enum StateChangeReturn {
75  StateChangeFailure = 0,
76  StateChangeSuccess = 1,
77  StateChangeAsync = 2,
78  StateChangeNoPreroll = 3
79  };
80 }
81 QGST_REGISTER_TYPE(QGst::StateChangeReturn)
82 
83 
84 namespace QGst {
85  enum PadDirection {
86  PadUnknown,
87  PadSrc,
88  PadSink
89  };
90 }
91 QGST_REGISTER_TYPE(QGst::PadDirection)
92 
93 namespace QGst {
94  enum PadFlag {
95  //codegen: PadInGetCaps=PAD_IN_GETCAPS, PadInSetCaps=PAD_IN_SETCAPS
96  PadBlocked = (ObjectFlagLast << 0),
97  PadFlushing = (ObjectFlagLast << 1),
98  PadInGetCaps = (ObjectFlagLast << 2),
99  PadInSetCaps = (ObjectFlagLast << 3),
100  PadBlocking = (ObjectFlagLast << 4),
101  /*padding*/
102  PadFlagLast = (ObjectFlagLast << 8)
103  };
104  Q_DECLARE_FLAGS(PadFlags, PadFlag);
105  Q_DECLARE_OPERATORS_FOR_FLAGS(PadFlags);
106 }
107 QGST_REGISTER_TYPE(QGst::PadFlags);
108 
109 namespace QGst {
110  enum PadLinkReturn {
111  //codegen: PadLinkNoFormat=PAD_LINK_NOFORMAT, PadLinkNoSched=PAD_LINK_NOSCHED
112  PadLinkOk = 0,
113  PadLinkWrongHierarchy = -1,
114  PadLinkWasLinked = -2,
115  PadLinkWrongDirection = -3,
116  PadLinkNoFormat = -4,
117  PadLinkNoSched = -5,
118  PadLinkRefused = -6
119  };
120 }
121 QGST_REGISTER_TYPE(QGst::PadLinkReturn)
122 
123 namespace QGst {
124  enum FlowReturn {
125  FlowCustomSuccess = 100,
126  FlowResend = 1,
127  FlowOk = 0,
128  FlowNotLinked = -1,
129  FlowWrongState = -2,
130  FlowUnexpected = -3,
131  FlowNotNegotiated = -4,
132  FlowError = -5,
133  FlowNotSupported = -6,
134  FlowCustomError = -100
135  };
136 }
137 QGST_REGISTER_TYPE(QGst::FlowReturn)
138 
139 namespace QGst {
140  enum ActivateMode {
141  ActivateNone,
142  ActivatePush,
143  ActivatePull
144  };
145 }
146 QGST_REGISTER_TYPE(QGst::ActivateMode)
147 
148 
149 namespace QGst {
150  enum Rank {
151  RankNone = 0,
152  RankMarginal = 64,
153  RankSecondary = 128,
154  RankPrimary = 256
155  };
156 }
157 QGST_REGISTER_TYPE(QGst::Rank)
158 
159 
160 namespace QGst {
161  enum MessageType {
162  MessageUnknown = 0,
163  MessageEos = (1 << 0),
164  MessageError = (1 << 1),
165  MessageWarning = (1 << 2),
166  MessageInfo = (1 << 3),
167  MessageTag = (1 << 4),
168  MessageBuffering = (1 << 5),
169  MessageStateChanged = (1 << 6),
170  MessageStateDirty = (1 << 7),
171  MessageStepDone = (1 << 8),
172  MessageClockProvide = (1 << 9),
173  MessageClockLost = (1 << 10),
174  MessageNewClock = (1 << 11),
175  MessageStructureChange = (1 << 12),
176  MessageStreamStatus = (1 << 13),
177  MessageApplication = (1 << 14),
178  MessageElement = (1 << 15),
179  MessageSegmentStart = (1 << 16),
180  MessageSegmentDone = (1 << 17),
181  MessageDuration = (1 << 18),
182  MessageLatency = (1 << 19),
183  MessageAsyncStart = (1 << 20),
184  MessageAsyncDone = (1 << 21),
185  MessageRequestState = (1 << 22),
186  MessageStepStart = (1 << 23),
187  MessageQos = (1 << 24),
188  MessageAny = ~0
189  };
190 }
191 QGST_REGISTER_TYPE(QGst::MessageType)
192 
193 
194 namespace QGst {
195  enum ParseError {
196  ParseErrorSyntax,
197  ParseErrorNoSuchElement,
198  ParseErrorNoSuchProperty,
199  ParseErrorLink,
200  ParseErrorCouldNotSetProperty,
201  ParseErrorEmptyBin,
202  ParseErrorEmpty
203  };
204 }
205 QGST_REGISTER_TYPE(QGst::ParseError)
206 
207 
208 namespace QGst {
209  enum UriType {
210  UriUnknown,
211  UriSink,
212  UriSrc
213  };
214 }
215 QGST_REGISTER_TYPE(QGst::UriType)
216 
217 namespace QGst {
218  enum BufferingMode {
219  BufferingStream,
220  BufferingDownload,
221  BufferingTimeshift,
222  BufferingLive
223  };
224 }
225 QGST_REGISTER_TYPE(QGst::BufferingMode)
226 
227 namespace QGst {
228  enum Format {
229  FormatUndefined,
230  FormatDefault,
231  FormatBytes,
232  FormatTime,
233  FormatBuffers,
234  FormatPercent
235  };
236 }
237 QGST_REGISTER_TYPE(QGst::Format)
238 
239 namespace QGst {
240  enum StreamStatusType {
241  StreamStatusTypeCreate = 0,
242  StreamStatusTypeEnter = 1,
243  StreamStatusTypeLeave = 2,
244  StreamStatusTypeDestroy = 3,
245  StreamStatusTypeStart = 8,
246  StreamStatusTypePause = 9,
247  StreamStatusTypeStop = 10
248  };
249 }
250 QGST_REGISTER_TYPE(QGst::StreamStatusType)
251 
252 namespace QGst {
253  enum StreamVolumeFormat {
254  StreamVolumeFormatLinear,
255  StreamVolumeFormatCubic,
256  StreamVolumeFormatDb
257  };
258 }
259 QGST_REGISTER_TYPE(QGst::StreamVolumeFormat)
260 
261 namespace QGst {
262  enum ColorBalanceType {
263  ColorBalanceHardware,
264  ColorBalanceSoftware
265  };
266 }
267 QGST_REGISTER_TYPE(QGst::ColorBalanceType)
268 
269 namespace QGst {
270  enum QueryType {
271  QueryNone = 0,
272  QueryPosition,
273  QueryDuration,
274  QueryLatency,
275  QueryJitter,
276  QueryRate,
277  QuerySeeking,
278  QuerySegment,
279  QueryConvert,
280  QueryFormats,
281  QueryBuffering,
282  QueryCustom,
283  QueryUri
284  };
285 }
286 QGST_REGISTER_TYPE(QGst::QueryType)
287 
288 namespace QGst {
289  enum BufferFlag {
290  //codegen: BufferFlagReadOnly=BUFFER_FLAG_READONLY
291  BufferFlagReadOnly = MiniObjectFlagReadonly,
292  BufferFlagPreroll = (MiniObjectFlagLast << 0),
293  BufferFlagDiscont = (MiniObjectFlagLast << 1),
294  BufferFlagInCaps = (MiniObjectFlagLast << 2),
295  BufferFlagGap = (MiniObjectFlagLast << 3),
296  BufferFlagDeltaUnit = (MiniObjectFlagLast << 4),
297  BufferFlagMedia1 = (MiniObjectFlagLast << 5),
298  BufferFlagMedia2 = (MiniObjectFlagLast << 6),
299  BufferFlagMedia3 = (MiniObjectFlagLast << 7),
300  BufferFlagLast = (MiniObjectFlagLast << 8)
301  };
302  Q_DECLARE_FLAGS(BufferFlags, BufferFlag);
303  Q_DECLARE_OPERATORS_FOR_FLAGS(BufferFlags)
304 }
305 QGST_REGISTER_TYPE(QGst::BufferFlags) //codegen: GType=GST_TYPE_BUFFER_FLAG
306 
307 
308 namespace QGst {
309  enum EventTypeFlag {
310  EventTypeUpstream = 1 << 0,
311  EventTypeDownstream = 1 << 1,
312  EventTypeSerialized = 1 << 2,
313  EventTypeBoth = (EventTypeUpstream | EventTypeDownstream)
314  };
315  Q_DECLARE_FLAGS(EventTypeFlags, EventTypeFlag);
316  Q_DECLARE_OPERATORS_FOR_FLAGS(EventTypeFlags)
317 }
318 QGST_REGISTER_TYPE(QGst::EventTypeFlags)
319 
320 namespace QGst {
321  enum EventType {
322  //codegen: EventNewSegment=EVENT_NEWSEGMENT, EventBufferSize=EVENT_BUFFERSIZE
323  EventUnknown = (0 << 4),
324  EventFlushStart = (1 << 4) | EventTypeBoth,
325  EventFlushStop = (2 << 4) | EventTypeBoth | EventTypeSerialized,
326  EventEos = (5 << 4) | EventTypeDownstream | EventTypeSerialized,
327  EventNewSegment = (6 << 4) | EventTypeDownstream | EventTypeSerialized,
328  EventTag = (7 << 4) | EventTypeDownstream | EventTypeSerialized,
329  EventBufferSize = (8 << 4) | EventTypeDownstream | EventTypeSerialized,
330  EventSinkMessage = (9 << 4) | EventTypeDownstream | EventTypeSerialized,
331  EventQos = (15 << 4) | EventTypeUpstream,
332  EventSeek = (16 << 4) | EventTypeUpstream,
333  EventNavigation = (17 << 4) | EventTypeUpstream,
334  EventLatency = (18 << 4) | EventTypeUpstream,
335  EventStep = (19 << 4) | EventTypeUpstream,
336  EventCustomUpstream = (32 << 4) | EventTypeUpstream,
337  EventCustomDownstream = (32 << 4) | EventTypeDownstream | EventTypeSerialized,
338  EventCustomDownstreamOob = (32 << 4) | EventTypeDownstream,
339  EventCustomBoth = (32 << 4) | EventTypeBoth | EventTypeSerialized,
340  EventCustomBothOob = (32 << 4) | EventTypeBoth
341  };
342 }
343 QGST_REGISTER_TYPE(QGst::EventType)
344 
345 namespace QGst {
346  enum SeekFlag {
347  SeekFlagNone = 0,
348  SeekFlagFlush = (1 << 0),
349  SeekFlagAccurate = (1 << 1),
350  SeekFlagKeyUnit = (1 << 2),
351  SeekFlagSegment = (1 << 3),
352  SeekFlagSkip = (1 << 4)
353  };
354  Q_DECLARE_FLAGS(SeekFlags, SeekFlag);
355  Q_DECLARE_OPERATORS_FOR_FLAGS(SeekFlags)
356 }
357 QGST_REGISTER_TYPE(QGst::SeekFlags)
358 
359 namespace QGst {
360  enum SeekType {
361  SeekTypeNone = 0,
362  SeekTypeCur = 1,
363  SeekTypeSet = 2,
364  SeekTypeEnd = 3
365  };
366 }
367 QGST_REGISTER_TYPE(QGst::SeekType)
368 
369 namespace QGst {
370  enum TagMergeMode {
371  TagMergeUndefined,
372  TagMergeReplaceAll,
373  TagMergeReplace,
374  TagMergeAppend,
375  TagMergePrepend,
376  TagMergeKeep,
377  TagMergeKeepAll,
378  // add more
379  TagMergeCount
380  };
381 }
382 QGST_REGISTER_TYPE(QGst::TagMergeMode)
383 
384 namespace QGst {
385  enum TagFlag {
386  TagFlagUndefined,
387  TagFlagMeta,
388  TagFlagEncoded,
389  TagFlagDecoded,
390  TagFlagCount
391  };
392  Q_DECLARE_FLAGS(TagFlags, TagFlag);
393 }
394 Q_DECLARE_OPERATORS_FOR_FLAGS(QGst::TagFlags)
395 QGST_REGISTER_TYPE(QGst::TagFlags) //codegen: GType=GST_TYPE_TAG_FLAG
396 
397 namespace QGst {
398  enum AppStreamType {
400  AppStreamTypeStream,
403  AppStreamTypeSeekable,
405  AppStreamTypeRandomAccess
406  };
407 }
408 //FIXME: GST_TYPE_APP_STREAM_TYPE is not exported from libgstapp,
409 //so we have to reside in this method...
410 namespace QGlib {
411  template <>
412  struct GetTypeImpl<QGst::AppStreamType>
413  {
414  inline operator Type() { return Type::fromName("GstAppStreamType"); }
415  };
416 }
417 
418 #endif