* @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.
+ * this is usually the start of a talkspurt.
* @GST_BUFFER_FLAG_HEADER: the buffer contains header information that is
* needed to decode the following data. The buffer
* is also part of the headers of the STREAM_CONFIG event.
guint gst_buffer_n_memory (GstBuffer *buffer);
void gst_buffer_insert_memory (GstBuffer *buffer, gint idx, GstMemory *mem);
void gst_buffer_replace_memory_range (GstBuffer *buffer, guint idx, gint length, GstMemory *mem);
+GstMemory * gst_buffer_peek_memory (GstBuffer *buffer, guint idx);
GstMemory * gst_buffer_get_memory_range (GstBuffer *buffer, guint idx, gint length);
void gst_buffer_remove_memory_range (GstBuffer *buffer, guint idx, gint length);
#define gst_buffer_remove_memory(b,i) gst_buffer_remove_memory_range ((b), (i), 1)
#define gst_buffer_remove_all_memory(b) gst_buffer_remove_memory_range ((b), 0, -1)
+gboolean gst_buffer_find_memory (GstBuffer *buffer, gsize offset, gsize size,
+ guint *idx, guint *length, gsize *skip);
+
gsize gst_buffer_fill (GstBuffer *buffer, gsize offset,
gconstpointer src, gsize size);
gsize gst_buffer_extract (GstBuffer *buffer, gsize offset,
gsize gst_buffer_memset (GstBuffer *buffer, gsize offset,
guint8 val, gsize size);
-gsize gst_buffer_get_sizes (GstBuffer *buffer, gsize *offset, gsize *maxsize);
-void gst_buffer_resize (GstBuffer *buffer, gssize offset, gssize size);
+gsize gst_buffer_get_sizes_range (GstBuffer *buffer, guint idx, gint length,
+ gsize *offset, gsize *maxsize);
+void gst_buffer_resize_range (GstBuffer *buffer, guint idx, gint length,
+ gssize offset, gssize size);
+#define gst_buffer_get_sizes(b,of,ms) gst_buffer_get_sizes_range ((b), 0, -1, (of), (ms))
/**
* gst_buffer_get_size:
* @b: a #GstBuffer.
*
* Get the size of @b.
*/
-#define gst_buffer_get_size(b) gst_buffer_get_sizes ((b), NULL, NULL)
+#define gst_buffer_get_size(b) gst_buffer_get_sizes_range ((b), 0, -1, NULL, NULL)
+#define gst_buffer_resize(b,of,s) gst_buffer_resize_range ((b), 0, -1, (of), (s))
/**
* gst_buffer_set_size:
* @b: a #GstBuffer.
* Set the size of @b to @s. This will remove or trim the memory blocks
* in the buffer.
*/
-#define gst_buffer_set_size(b,s) gst_buffer_resize ((b), 0, (s))
+#define gst_buffer_set_size(b,s) gst_buffer_resize_range ((b), 0, -1, 0, (s))
gboolean gst_buffer_map_range (GstBuffer *buffer, guint idx, gint length,
GstMapInfo *info, GstMapFlags flags);