buffer: rework flags a little
authorWim Taymans <wim.taymans@collabora.co.uk>
Thu, 25 Aug 2011 14:21:18 +0000 (16:21 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Thu, 25 Aug 2011 14:21:18 +0000 (16:21 +0200)
Reorder buffer flags and add some new ones.
Remove the media specific flags, we can now easily do this with the FLAG_LAST
flag because we don't extend from GstBuffer anymore.

gst/gstbuffer.h

index e977583..88e1953 100644 (file)
@@ -159,35 +159,42 @@ typedef struct _GstBufferPool GstBufferPool;
 
 /**
  * GstBufferFlags:
- * @GST_BUFFER_FLAG_LIVE:    the buffer is live data and should be discarded in
- *                           the PAUSED state.
- * @GST_BUFFER_FLAG_DISCONT: the buffer marks a discontinuity in the stream.
- *                           This typically occurs after a seek or a dropped buffer
- *                           from a live or network source.
- * @GST_BUFFER_FLAG_IN_CAPS: the buffer has been added as a field in a #GstCaps.
- * @GST_BUFFER_FLAG_GAP:     the buffer has been created to fill a gap in the
- *                           stream and contains media neutral data (elements can
- *                           switch to optimized code path that ignores the buffer
- *                           content).
+ * @GST_BUFFER_FLAG_LIVE:       the buffer is live data and should be discarded in
+ *                              the PAUSED state.
+ * @GST_BUFFER_FLAG_DISCONT:    the buffer marks a data discontinuity in the stream.
+ *                              This typically occurs after a seek or a dropped buffer
+ *                              from a live or network source.
+ * @GST_BUFFER_FLAG_RESYNC:     the buffer timestamp might have a discontinuity
+ *                              and this buffer is a good point to resynchronize.
+ * @GST_BUFFER_FLAG_CORRUPTED:  the buffer data is corrupted
+ * @GST_BUFFER_FLAG_MARKER:     the buffer contains a media specific marker. for
+ *                              video this is typically the end of a frame boundary, for audio
+ *                              this is usually the end of a talkspurt.
+ * @GST_BUFFER_FLAG_HEADER:     the buffer contains header information that is
+ *                              needed to decode the following data
+ * @GST_BUFFER_FLAG_GAP:        the buffer has been created to fill a gap in the
+ *                              stream and contains media neutral data (elements can
+ *                              switch to optimized code path that ignores the buffer
+ *                              content).
  * @GST_BUFFER_FLAG_DELTA_UNIT: this unit cannot be decoded independently.
- * @GST_BUFFER_FLAG_MEDIA1:  a flag whose use is specific to the caps of the buffer. Since: 0.10.23.
- * @GST_BUFFER_FLAG_MEDIA2:  a flag whose use is specific to the caps of the buffer. Since: 0.10.23.
- * @GST_BUFFER_FLAG_MEDIA3:  a flag whose use is specific to the caps of the buffer. Since: 0.10.23.
- * @GST_BUFFER_FLAG_MEDIA4:  a flag whose use is specific to the caps of the buffer. Since: 0.10.33.
- * @GST_BUFFER_FLAG_LAST:    additional flags can be added starting from this flag.
+ * @GST_BUFFER_FLAG_IN_CAPS:    the buffer has been added as a field in a #GstCaps.
+ *
+ * @GST_BUFFER_FLAG_LAST:       additional media specific flags can be added starting from
+ *                              this flag.
  *
  * A set of buffer flags used to describe properties of a #GstBuffer.
  */
 typedef enum {
   GST_BUFFER_FLAG_LIVE       = (GST_MINI_OBJECT_FLAG_LAST << 0),
   GST_BUFFER_FLAG_DISCONT    = (GST_MINI_OBJECT_FLAG_LAST << 1),
-  GST_BUFFER_FLAG_IN_CAPS    = (GST_MINI_OBJECT_FLAG_LAST << 2),
-  GST_BUFFER_FLAG_GAP        = (GST_MINI_OBJECT_FLAG_LAST << 3),
-  GST_BUFFER_FLAG_DELTA_UNIT = (GST_MINI_OBJECT_FLAG_LAST << 4),
-  GST_BUFFER_FLAG_MEDIA1     = (GST_MINI_OBJECT_FLAG_LAST << 5),
-  GST_BUFFER_FLAG_MEDIA2     = (GST_MINI_OBJECT_FLAG_LAST << 6),
-  GST_BUFFER_FLAG_MEDIA3     = (GST_MINI_OBJECT_FLAG_LAST << 7),
-  GST_BUFFER_FLAG_MEDIA4     = (GST_MINI_OBJECT_FLAG_LAST << 8),
+  GST_BUFFER_FLAG_RESYNC     = (GST_MINI_OBJECT_FLAG_LAST << 2),
+  GST_BUFFER_FLAG_CORRUPTED  = (GST_MINI_OBJECT_FLAG_LAST << 3),
+  GST_BUFFER_FLAG_MARKER     = (GST_MINI_OBJECT_FLAG_LAST << 4),
+  GST_BUFFER_FLAG_HEADER     = (GST_MINI_OBJECT_FLAG_LAST << 5),
+  GST_BUFFER_FLAG_GAP        = (GST_MINI_OBJECT_FLAG_LAST << 6),
+  GST_BUFFER_FLAG_DELTA_UNIT = (GST_MINI_OBJECT_FLAG_LAST << 7),
+  GST_BUFFER_FLAG_IN_CAPS    = (GST_MINI_OBJECT_FLAG_LAST << 8),
+
   GST_BUFFER_FLAG_LAST       = (GST_MINI_OBJECT_FLAG_LAST << 16)
 } GstBufferFlags;