mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-28 03:00:35 +00:00
420 lines
6.5 KiB
Text
420 lines
6.5 KiB
Text
|
<!-- ##### SECTION Title ##### -->
|
||
|
GstBuffer
|
||
|
|
||
|
<!-- ##### SECTION Short_Description ##### -->
|
||
|
|
||
|
|
||
|
<!-- ##### SECTION Long_Description ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
|
||
|
<!-- ##### SECTION See_Also ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
|
||
|
<!-- ##### STRUCT GstBuffer ##### -->
|
||
|
<para>
|
||
|
The basic structure of a buffer.
|
||
|
</para>
|
||
|
|
||
|
@data_type:
|
||
|
@data:
|
||
|
@size:
|
||
|
@maxsize:
|
||
|
@timestamp:
|
||
|
@duration:
|
||
|
@offset:
|
||
|
@offset_end:
|
||
|
@free_data:
|
||
|
@buffer_private:
|
||
|
@_gst_reserved:
|
||
|
|
||
|
<!-- ##### USER_FUNCTION GstBufferFreeDataFunc ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buffer:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_TRACE_NAME ##### -->
|
||
|
<para>
|
||
|
The name used for tracing memory allocations
|
||
|
</para>
|
||
|
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_REFCOUNT ##### -->
|
||
|
<para>
|
||
|
Gets a handle to the refcount structure of the buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to get the refcount structure of.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_REFCOUNT_VALUE ##### -->
|
||
|
<para>
|
||
|
Gets the current refcount value of the buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to get the refcount value of.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_COPY_FUNC ##### -->
|
||
|
<para>
|
||
|
Calls the buffer-specific copy function on the given buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to copy.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_FREE_FUNC ##### -->
|
||
|
<para>
|
||
|
Calls the buffer-specific free function on the given buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to free.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_FLAGS ##### -->
|
||
|
<para>
|
||
|
Gets the flags from this buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to retrieve the flags from.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_FLAG_IS_SET ##### -->
|
||
|
<para>
|
||
|
Gives the status of a given flag of a buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to query flags of.
|
||
|
@flag: the #GstBufferFlag to check.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_FLAG_SET ##### -->
|
||
|
<para>
|
||
|
Sets a buffer flag.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to modify flags of.
|
||
|
@flag: the #GstBufferFlag to set.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_FLAG_UNSET ##### -->
|
||
|
<para>
|
||
|
Clears a buffer flag.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to modify flags of.
|
||
|
@flag: the #GstBufferFlag to clear.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_DATA ##### -->
|
||
|
<para>
|
||
|
Retrieves a pointer to the data element of this buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to get data pointer of.
|
||
|
@Returns: the pointer to the actual data contents of the buffer.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_SIZE ##### -->
|
||
|
<para>
|
||
|
Gets the size of the data in this buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to get data size of.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_MAXSIZE ##### -->
|
||
|
<para>
|
||
|
Gets the maximum size of this buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to get maximum size of.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_TIMESTAMP ##### -->
|
||
|
<para>
|
||
|
Gets the timestamp for this buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to get timestamp of.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_DURATION ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buf:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_FORMAT ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buf:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_OFFSET ##### -->
|
||
|
<para>
|
||
|
Gets the offset in the source file of this buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to get offset of.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_OFFSET_END ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buf:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_FREE_DATA_FUNC ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buf:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_PRIVATE ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buf:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_OFFSET_NONE ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_MAXSIZE_NONE ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_DURATION_IS_VALID ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buffer:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_TIMESTAMP_IS_VALID ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buffer:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_OFFSET_IS_VALID ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buffer:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_OFFSET_END_IS_VALID ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buffer:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO GST_BUFFER_MAXSIZE_IS_VALID ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buffer:
|
||
|
|
||
|
|
||
|
<!-- ##### ENUM GstBufferFlag ##### -->
|
||
|
<para>
|
||
|
A set of buffer flags used to describe properties of a #GstBuffer.
|
||
|
</para>
|
||
|
|
||
|
@GST_BUFFER_READONLY: the buffer is read-only.
|
||
|
@GST_BUFFER_SUBBUFFER: the buffer is a subbuffer, the parent buffer can be
|
||
|
found with the GST_BUFFER_POOL_PRIVATE() macro.
|
||
|
@GST_BUFFER_ORIGINAL: buffer is not a copy of another buffer.
|
||
|
@GST_BUFFER_DONTFREE: do not try to free the data when this buffer is
|
||
|
unreferenced.
|
||
|
@GST_BUFFER_KEY_UNIT: the buffer holds a key unit, a unit that can be
|
||
|
decoded independently of other buffers.
|
||
|
@GST_BUFFER_DONTKEEP:
|
||
|
@GST_BUFFER_FLAG_LAST: additional flags can be added starting from this flag.
|
||
|
|
||
|
<!-- ##### FUNCTION gst_buffer_new ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@Returns:
|
||
|
|
||
|
|
||
|
<!-- ##### FUNCTION gst_buffer_new_and_alloc ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@size:
|
||
|
@Returns:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO gst_buffer_set_data ##### -->
|
||
|
<para>
|
||
|
A convenience function to set the data and size on a buffer
|
||
|
</para>
|
||
|
|
||
|
@buf: The buffer to modify
|
||
|
@data: The data to set on the buffer
|
||
|
@size: The size to set on the buffer
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO gst_buffer_ref ##### -->
|
||
|
<para>
|
||
|
Increases the refcount of the given buffer by one.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to increase the refcount of.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO gst_buffer_ref_by_count ##### -->
|
||
|
<para>
|
||
|
Increases the refcount of the buffer by the given value.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to increase the refcount of.
|
||
|
@c: the value to add to the refcount.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO gst_buffer_unref ##### -->
|
||
|
<para>
|
||
|
Decreases the refcount of the buffer. If the refcount reaches 0, the buffer
|
||
|
will be freed.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to unref.
|
||
|
|
||
|
|
||
|
<!-- ##### FUNCTION gst_buffer_stamp ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@dest:
|
||
|
@src:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO gst_buffer_copy ##### -->
|
||
|
<para>
|
||
|
Copies the given buffer using the copy function of the parent GstData structure.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to copy.
|
||
|
@Returns: a new #GstBuffer copy of the buffer.
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO gst_buffer_is_writable ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buf:
|
||
|
|
||
|
|
||
|
<!-- ##### MACRO gst_buffer_copy_on_write ##### -->
|
||
|
<para>
|
||
|
This function returns a buffer that is safe to write to.
|
||
|
Copy the buffer if the refcount > 1 so that the newly
|
||
|
created buffer can be safely written to.
|
||
|
If the refcount is 1, this function just returns the original buffer.
|
||
|
</para>
|
||
|
|
||
|
@buf: a #GstBuffer to copy
|
||
|
@Returns: the #GstBuffer that can safely be written to.
|
||
|
|
||
|
|
||
|
<!-- ##### FUNCTION gst_buffer_create_sub ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@parent:
|
||
|
@offset:
|
||
|
@size:
|
||
|
@Returns:
|
||
|
|
||
|
|
||
|
<!-- ##### FUNCTION gst_buffer_merge ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buf1:
|
||
|
@buf2:
|
||
|
@Returns:
|
||
|
|
||
|
|
||
|
<!-- ##### FUNCTION gst_buffer_is_span_fast ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buf1:
|
||
|
@buf2:
|
||
|
@Returns:
|
||
|
|
||
|
|
||
|
<!-- ##### FUNCTION gst_buffer_span ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buf1:
|
||
|
@offset:
|
||
|
@buf2:
|
||
|
@len:
|
||
|
@Returns:
|
||
|
|
||
|
|
||
|
<!-- ##### FUNCTION gst_buffer_default_free ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buffer:
|
||
|
|
||
|
|
||
|
<!-- ##### FUNCTION gst_buffer_default_copy ##### -->
|
||
|
<para>
|
||
|
|
||
|
</para>
|
||
|
|
||
|
@buffer:
|
||
|
@Returns:
|
||
|
|
||
|
|