}
/**
+ * gst_buffer_peek_memory:
+ * @buffer: a #GstBuffer.
+ * @idx: an index
+ *
+ * Get the memory block at @idx in @buffer. The memory block stays valid until
+ * the memory block in @buffer is removed, replaced or merged, typically with
+ * any call that modifies the memory in @buffer.
+ *
+ * Since this call does not influence the refcount of the memory,
+ * gst_memory_is_exclusive() can be used to check if @buffer is the sole owner
+ * of the returned memory.
+ *
+ * Returns: (transfer none): the #GstMemory at @idx.
+ */
+GstMemory *
+gst_buffer_peek_memory (GstBuffer * buffer, guint idx)
+{
+ guint len;
+
+ g_return_val_if_fail (GST_IS_BUFFER (buffer), NULL);
+ len = GST_BUFFER_MEM_LEN (buffer);
+ g_return_val_if_fail (idx < len, NULL);
+
+ return GST_BUFFER_MEM_PTR (buffer, idx);
+}
+
+/**
* gst_buffer_get_memory_range:
* @buffer: a #GstBuffer.
* @idx: an index
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);
gst_buffer_new_allocate
gst_buffer_new_wrapped
gst_buffer_new_wrapped_full
+ gst_buffer_peek_memory
gst_buffer_pool_acquire_buffer
gst_buffer_pool_acquire_flags_get_type
gst_buffer_pool_config_add_option