From fa8f9b50ea16184946c66d2a4ed26aa9dbad5f3b Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 25 Aug 2011 16:21:18 +0200 Subject: [PATCH] buffer: rework flags a little 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 | 51 ++++++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/gst/gstbuffer.h b/gst/gstbuffer.h index e977583bb4..88e1953f76 100644 --- a/gst/gstbuffer.h +++ b/gst/gstbuffer.h @@ -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;