mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-13 03:46:34 +00:00
7c51d6e0ca
Original commit message from CVS: Cleaned up the docs a bit.
303 lines
4.7 KiB
Text
303 lines
4.7 KiB
Text
<!-- ##### SECTION Title ##### -->
|
|
GstBuffer
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
Data-passing buffer type, supporting sub-buffers and metadata
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
Buffers are the basic unit of data transfer in GST. The GstBuffer type
|
|
provides all the state necessary to define a region of memory as part of a
|
|
stream. Sub-buffer are also supported, allowing a smaller region of a
|
|
buffer to become its own buffer, with mechanisms in place to ensure that
|
|
nither memory space goes away. Metadata is supported as a list of
|
|
pointers to arbitrary metadata.
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
<!-- ##### MACRO GST_BUFFER_FLAGS ##### -->
|
|
<para>
|
|
Get the flags from this buffer.
|
|
</para>
|
|
|
|
@buf: GstBuffer to retrieve the flags from
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_FLAG_IS_SET ##### -->
|
|
<para>
|
|
Gives the status of a given flag.
|
|
</para>
|
|
|
|
@buf: GstBuffer to query
|
|
@flag: the flag to check
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_FLAG_SET ##### -->
|
|
<para>
|
|
Set a flag in a buffer.
|
|
</para>
|
|
|
|
@buf: GstBuffer to query
|
|
@flag: the flag to set
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_FLAG_UNSET ##### -->
|
|
<para>
|
|
Clear a flag in a buffer.
|
|
</para>
|
|
|
|
@buf: GstBuffer to modify
|
|
@flag: the flag to clear
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_TYPE ##### -->
|
|
<para>
|
|
Retrieves the type id of the data in the buffer.
|
|
</para>
|
|
|
|
@buf: GstBuffer
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_DATA ##### -->
|
|
<para>
|
|
Retrieves a pointer to the data element of this buffer
|
|
</para>
|
|
|
|
@buf: GstBuffer
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_SIZE ##### -->
|
|
<para>
|
|
Get the size of the data in this buffer.
|
|
</para>
|
|
|
|
@buf: GstBuffer
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_OFFSET ##### -->
|
|
<para>
|
|
Get the offset in the source file of this buffer.
|
|
</para>
|
|
|
|
@buf: GstBuffer
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_MAXSIZE ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@buf: GstBuffer
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_TIMESTAMP ##### -->
|
|
<para>
|
|
Get the timestamp for this buffer.
|
|
</para>
|
|
|
|
@buf: GstBuffer
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_LOCK ##### -->
|
|
<para>
|
|
This macro will obtain a lock on the object, making serialization
|
|
possible.
|
|
|
|
</para>
|
|
|
|
@buf: GstBuffer to lock
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_TRYLOCK ##### -->
|
|
<para>
|
|
This macro will try to obtain a lock on the object, but will return with
|
|
FALSE if it can't get it immediately.
|
|
|
|
</para>
|
|
|
|
@buf: GstBuffer to try to lock
|
|
|
|
|
|
<!-- ##### MACRO GST_BUFFER_UNLOCK ##### -->
|
|
<para>
|
|
This macro releases a lock on the object.
|
|
|
|
</para>
|
|
|
|
@buf: GstBuffer to unlock.
|
|
|
|
|
|
<!-- ##### ENUM GstBufferFlags ##### -->
|
|
<para>
|
|
|
|
FIXME this is strange.
|
|
|
|
<informaltable pgwide=1 frame="none" role="enum">
|
|
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
|
|
<tbody>
|
|
<row>
|
|
<entry>GST_BUFFER_READONLY</entry>
|
|
<entry>the buffer is read only</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>GST_BUFFER_EOS</entry>
|
|
<entry>this buffer is the last one in the stream</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>GST_BUFFER_ORIGINAL</entry>
|
|
<entry>this buffer not a copy</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>GST_BUFFER_DONTFREE</entry>
|
|
<entry>do not try to free the data when this buffer is unref-ed</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>GST_BUFFER_FLUSH</entry>
|
|
<entry>this buffer is not related to previous buffers. This flag is mainly
|
|
used when data in a stream has been skipped</entry>
|
|
</row>
|
|
|
|
</tbody></tgroup></informaltable>
|
|
|
|
</para>
|
|
|
|
@GST_BUFFER_READONLY: the buffer is read only
|
|
@GST_BUFFER_ORIGINAL: this buffer not a copy
|
|
@GST_BUFFER_DONTFREE: do not try to free the data when this buffer is unref-ed
|
|
@GST_BUFFER_FLUSH: this buffer is not related to previous buffers. This flag is mainly
|
|
used when data in a stream has been skipped
|
|
@GST_BUFFER_EOS: this buffer is the last one in the stream
|
|
@GST_BUFFER_DISCONTINUOUS:
|
|
|
|
<!-- ##### STRUCT GstBuffer ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@lock:
|
|
@flags:
|
|
@data:
|
|
@size:
|
|
@maxsize:
|
|
@offset:
|
|
@timestamp:
|
|
@maxage:
|
|
@metas:
|
|
@parent:
|
|
@pool:
|
|
|
|
<!-- ##### FUNCTION gst_buffer_new ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_buffer_new_from_pool ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@pool:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_buffer_create_sub ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@parent:
|
|
@offset:
|
|
@size:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_buffer_append ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@buffer:
|
|
@append:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_buffer_ref ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@buffer:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_buffer_ref_by_count ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@buffer:
|
|
@count:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_buffer_unref ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@buffer:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_buffer_destroy ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@buffer:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_buffer_add_meta ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@buffer:
|
|
@meta:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_buffer_get_first_meta ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@buffer:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_buffer_get_metas ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@buffer:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_buffer_remove_meta ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@buffer:
|
|
@meta:
|
|
|
|
|