gstreamer/docs/gst/tmpl/gstbuffer.sgml

271 lines
4 KiB
Text
Raw Normal View History

<!-- ##### 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>
</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: The buffer has a discontinuity
<!-- ##### 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: