mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 09:10:36 +00:00
buffer: add _gst_max_memory() function
Add the a function to query the maximum amount of memory blocks that can be added to a buffer. Also improve the docs for _insert_memory().
This commit is contained in:
parent
2541ddf123
commit
396b49ec4d
3 changed files with 34 additions and 1 deletions
|
@ -330,6 +330,25 @@ _priv_gst_buffer_initialize (void)
|
||||||
_gst_buffer_type = gst_buffer_get_type ();
|
_gst_buffer_type = gst_buffer_get_type ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gst_buffer_get_max_memory:
|
||||||
|
*
|
||||||
|
* Get the maximum amount of memory blocks that a buffer can hold. This is a
|
||||||
|
* compile time constant that can be queried with the function.
|
||||||
|
*
|
||||||
|
* When more memory blocks are added, existing memory blocks will be merged
|
||||||
|
* together to make room for the new block.
|
||||||
|
*
|
||||||
|
* Returns: the maximum amount of memory blocks that a buffer can hold.
|
||||||
|
*
|
||||||
|
* Since: 1.2.0
|
||||||
|
*/
|
||||||
|
guint
|
||||||
|
gst_buffer_get_max_memory (void)
|
||||||
|
{
|
||||||
|
return GST_BUFFER_MEM_MAX;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gst_buffer_copy_into:
|
* gst_buffer_copy_into:
|
||||||
* @dest: a destination #GstBuffer
|
* @dest: a destination #GstBuffer
|
||||||
|
@ -774,7 +793,8 @@ gst_buffer_new_wrapped (gpointer data, gsize size)
|
||||||
* gst_buffer_n_memory:
|
* gst_buffer_n_memory:
|
||||||
* @buffer: a #GstBuffer.
|
* @buffer: a #GstBuffer.
|
||||||
*
|
*
|
||||||
* Get the amount of memory blocks that this buffer has.
|
* Get the amount of memory blocks that this buffer has. This amount is never
|
||||||
|
* larger than what gst_buffer_get_max_memory() returns.
|
||||||
*
|
*
|
||||||
* Returns: (transfer full): the amount of memory block in this buffer.
|
* Returns: (transfer full): the amount of memory block in this buffer.
|
||||||
*/
|
*/
|
||||||
|
@ -793,6 +813,9 @@ gst_buffer_n_memory (GstBuffer * buffer)
|
||||||
*
|
*
|
||||||
* Prepend the memory block @mem to @buffer. This function takes
|
* Prepend the memory block @mem to @buffer. This function takes
|
||||||
* ownership of @mem and thus doesn't increase its refcount.
|
* ownership of @mem and thus doesn't increase its refcount.
|
||||||
|
*
|
||||||
|
* This function is identical to gst_buffer_insert_memory() with an index of 0.
|
||||||
|
* See gst_buffer_insert_memory() for more details.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_buffer_prepend_memory (GstBuffer * buffer, GstMemory * mem)
|
gst_buffer_prepend_memory (GstBuffer * buffer, GstMemory * mem)
|
||||||
|
@ -807,6 +830,9 @@ gst_buffer_prepend_memory (GstBuffer * buffer, GstMemory * mem)
|
||||||
*
|
*
|
||||||
* Append the memory block @mem to @buffer. This function takes
|
* Append the memory block @mem to @buffer. This function takes
|
||||||
* ownership of @mem and thus doesn't increase its refcount.
|
* ownership of @mem and thus doesn't increase its refcount.
|
||||||
|
*
|
||||||
|
* This function is identical to gst_buffer_insert_memory() with an index of -1.
|
||||||
|
* See gst_buffer_insert_memory() for more details.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_buffer_append_memory (GstBuffer * buffer, GstMemory * mem)
|
gst_buffer_append_memory (GstBuffer * buffer, GstMemory * mem)
|
||||||
|
@ -822,6 +848,10 @@ gst_buffer_append_memory (GstBuffer * buffer, GstMemory * mem)
|
||||||
*
|
*
|
||||||
* Insert the memory block @mem to @buffer at @idx. This function takes ownership
|
* Insert the memory block @mem to @buffer at @idx. This function takes ownership
|
||||||
* of @mem and thus doesn't increase its refcount.
|
* of @mem and thus doesn't increase its refcount.
|
||||||
|
*
|
||||||
|
* Only gst_buffer_get_max_memory() can be added to a buffer. If more memory is
|
||||||
|
* added, existing memory blocks will automatically be merged to make room for
|
||||||
|
* the new memory.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_buffer_insert_memory (GstBuffer * buffer, gint idx, GstMemory * mem)
|
gst_buffer_insert_memory (GstBuffer * buffer, gint idx, GstMemory * mem)
|
||||||
|
|
|
@ -253,6 +253,8 @@ struct _GstBuffer {
|
||||||
|
|
||||||
GType gst_buffer_get_type (void);
|
GType gst_buffer_get_type (void);
|
||||||
|
|
||||||
|
guint gst_buffer_get_max_memory (void);
|
||||||
|
|
||||||
/* allocation */
|
/* allocation */
|
||||||
GstBuffer * gst_buffer_new (void);
|
GstBuffer * gst_buffer_new (void);
|
||||||
GstBuffer * gst_buffer_new_allocate (GstAllocator * allocator, gsize size,
|
GstBuffer * gst_buffer_new_allocate (GstAllocator * allocator, gsize size,
|
||||||
|
|
|
@ -108,6 +108,7 @@ EXPORTS
|
||||||
gst_buffer_flags_get_type
|
gst_buffer_flags_get_type
|
||||||
gst_buffer_foreach_meta
|
gst_buffer_foreach_meta
|
||||||
gst_buffer_get_all_memory
|
gst_buffer_get_all_memory
|
||||||
|
gst_buffer_get_max_memory
|
||||||
gst_buffer_get_memory
|
gst_buffer_get_memory
|
||||||
gst_buffer_get_memory_range
|
gst_buffer_get_memory_range
|
||||||
gst_buffer_get_meta
|
gst_buffer_get_meta
|
||||||
|
|
Loading…
Reference in a new issue