mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 03:31:05 +00:00
buffer: add explicit getters and setters for buffer flags
These can be used from bindings. https://bugzilla.gnome.org/show_bug.cgi?id=768301
This commit is contained in:
parent
63fa65f777
commit
cf6cac07dd
4 changed files with 87 additions and 1 deletions
|
@ -258,6 +258,11 @@ GstParentBufferMeta
|
|||
gst_buffer_add_parent_buffer_meta
|
||||
gst_buffer_get_parent_buffer_meta
|
||||
|
||||
gst_buffer_get_flags
|
||||
gst_buffer_set_flags
|
||||
gst_buffer_unset_flags
|
||||
gst_buffer_has_flags
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GstBufferClass
|
||||
GST_BUFFER
|
||||
|
|
|
@ -306,6 +306,77 @@ _replace_memory (GstBuffer * buffer, guint len, guint idx, guint length,
|
|||
GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_TAG_MEMORY);
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_buffer_get_flags:
|
||||
* @buffer: a #GstBuffer
|
||||
*
|
||||
* Get the #GstBufferFlags flags set on this buffer.
|
||||
*
|
||||
* Returns: the flags set on this buffer.
|
||||
*
|
||||
* Since: 1.10
|
||||
*/
|
||||
GstBufferFlags
|
||||
gst_buffer_get_flags (GstBuffer * buffer)
|
||||
{
|
||||
return (GstBufferFlags) GST_BUFFER_FLAGS (buffer);
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_buffer_flag_is_set:
|
||||
* @buffer: a #GstBuffer
|
||||
* @flags: the #GstBufferFlags flag to check.
|
||||
*
|
||||
* Gives the status of a specific flag on a buffer.
|
||||
*
|
||||
* Returns: %TRUE if all flags in @flags are found on @buffer.
|
||||
*
|
||||
* Since: 1.10
|
||||
*/
|
||||
gboolean
|
||||
gst_buffer_has_flags (GstBuffer * buffer, GstBufferFlags flags)
|
||||
{
|
||||
return GST_BUFFER_FLAG_IS_SET (buffer, flags);
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_buffer_set_flags:
|
||||
* @buffer: a #GstBuffer
|
||||
* @flags: the #GstBufferFlags to set.
|
||||
*
|
||||
* Sets one or more buffer flags on a buffer.
|
||||
*
|
||||
* Returns: %TRUE if @flags were successfully set on buffer.
|
||||
*
|
||||
* Since: 1.10
|
||||
*/
|
||||
gboolean
|
||||
gst_buffer_set_flags (GstBuffer * buffer, GstBufferFlags flags)
|
||||
{
|
||||
GST_BUFFER_FLAG_SET (buffer, flags);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_buffer_unset_flags:
|
||||
* @buffer: a #GstBuffer
|
||||
* @flags: the #GstBufferFlags to clear
|
||||
*
|
||||
* Clears one or more buffer flags.
|
||||
*
|
||||
* Returns: true if @flags is successfully cleared from buffer.
|
||||
*
|
||||
* Since: 1.10
|
||||
*/
|
||||
gboolean
|
||||
gst_buffer_unset_flags (GstBuffer * buffer, GstBufferFlags flags)
|
||||
{
|
||||
GST_BUFFER_FLAG_UNSET (buffer, flags);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* transfer full for return and transfer none for @mem */
|
||||
static inline GstMemory *
|
||||
_memory_get_exclusive_reference (GstMemory * mem)
|
||||
|
@ -2102,7 +2173,6 @@ gst_buffer_add_meta (GstBuffer * buffer, const GstMetaInfo * info,
|
|||
result = &item->meta;
|
||||
result->info = info;
|
||||
result->flags = GST_META_FLAG_NONE;
|
||||
|
||||
GST_CAT_DEBUG (GST_CAT_BUFFER,
|
||||
"alloc metadata %p (%s) of size %" G_GSIZE_FORMAT, result,
|
||||
g_type_name (info->type), info->size);
|
||||
|
|
|
@ -332,6 +332,13 @@ void gst_buffer_extract_dup (GstBuffer *buffer, gsize offset,
|
|||
gsize size, gpointer *dest,
|
||||
gsize *dest_size);
|
||||
|
||||
GstBufferFlags gst_buffer_get_flags (GstBuffer * buffer);
|
||||
gboolean gst_buffer_has_flags (GstBuffer * buffer, GstBufferFlags flags);
|
||||
gboolean gst_buffer_set_flags (GstBuffer * buffer, GstBufferFlags flags);
|
||||
gboolean gst_buffer_unset_flags (GstBuffer * buffer, GstBufferFlags flags);
|
||||
|
||||
|
||||
|
||||
/* refcounting */
|
||||
/**
|
||||
* gst_buffer_ref:
|
||||
|
|
|
@ -128,6 +128,7 @@ EXPORTS
|
|||
gst_buffer_flags_get_type
|
||||
gst_buffer_foreach_meta
|
||||
gst_buffer_get_all_memory
|
||||
gst_buffer_get_flags
|
||||
gst_buffer_get_max_memory
|
||||
gst_buffer_get_memory
|
||||
gst_buffer_get_memory_range
|
||||
|
@ -136,6 +137,7 @@ EXPORTS
|
|||
gst_buffer_get_sizes
|
||||
gst_buffer_get_sizes_range
|
||||
gst_buffer_get_type
|
||||
gst_buffer_has_flags
|
||||
gst_buffer_insert_memory
|
||||
gst_buffer_is_all_memory_writable
|
||||
gst_buffer_is_memory_range_writable
|
||||
|
@ -190,8 +192,10 @@ EXPORTS
|
|||
gst_buffer_replace_memory_range
|
||||
gst_buffer_resize
|
||||
gst_buffer_resize_range
|
||||
gst_buffer_set_flags
|
||||
gst_buffer_set_size
|
||||
gst_buffer_unmap
|
||||
gst_buffer_unset_flags
|
||||
gst_buffering_mode_get_type
|
||||
gst_bus_add_signal_watch
|
||||
gst_bus_add_signal_watch_full
|
||||
|
|
Loading…
Reference in a new issue