A function that will be called from gst_buffer_foreach_meta(). The @meta field will point to a the reference of the meta.
A function that will be called from gst_buffer_list_foreach(). The @buffer field will point to a the reference of the buffer at @idx.
Specifies the type of function passed to gst_bus_add_watch() or gst_bus_add_watch_full(), which is called from the mainloop when a message is available on the bus.
Handler will be invoked synchronously, when a new message has been injected into the bus. This function is mostly used internally. Only one sync handler can be attached to a given bus.
The function prototype of the callback.
A datatype to hold the handle to an outstanding sync or async clock callback.
A datatype to hold a time, measured in nanoseconds.
A datatype to hold a time difference, measured in nanoseconds.
Function for returning a value for a given timestamp.
Function for returning an array of values for starting at a given timestamp.
This function will be called when creating a copy of @it and should create a copy of all custom iterator fields or increase their reference counts.
A function to be passed to gst_iterator_fold().
A function that is called by gst_iterator_foreach() for every element.
This function will be called when the iterator is freed.
The function that will be called after the next item of the iterator has been retrieved. This function can be used to skip items or stop the iterator.
The function that will be called when the next element of the iterator should be retrieved.
This function will be called whenever a concurrent update happened to the iterated datastructure. The implementor of the iterator should restart the iterator from the beginning and clean up any state it might have.
Function prototype for a logging function that can be registered with gst_debug_add_log_function(). Use G_GNUC_NO_INSTRUMENT on that function.
Copy @size bytes from @mem starting at @offset and return them wrapped in a new GstMemory object. If @size is set to -1, all bytes starting at @offset are copied.
Check if @mem1 and @mem2 occupy contiguous memory and return the offset of @mem1 in the parent buffer in @offset.
Get the memory of @mem that can be accessed according to the mode specified in @flags. The function should return a pointer that contains at least @maxsize bytes.
Share @size bytes from @mem starting at @offset and return them wrapped in a new GstMemory object. If @size is set to -1, all bytes starting at @offset are shared. This function does not make a copy of the bytes in @mem.
Return the pointer previously retrieved with gst_memory_map().
Function called when @meta is freed in @buffer.
Function called when @meta is initialized in @buffer.
Function called for each @meta in @buffer as a result of performing a transformation on @transbuf. Additional @type specific transform data is passed to the function as @data.
Function prototype for methods to create copies of instances.
Function prototype for when a miniobject has lost its last refcount. Implementation of the mini object are allowed to revive the passed object by doing a gst_mini_object_ref(). If the object is not revived after the dispose function, the function should return %TRUE and the memory associated with the object is freed.
Virtual function prototype for methods to free resources used by mini-objects.
A #GstMiniObjectNotify function can be added to a mini object as a callback that gets triggered when gst_mini_object_unref() drops the last ref and @obj is about to be freed.
This function is called when the pad is activated during the element READY to PAUSED state change. By default this function will call the activate function that puts the pad in push mode but elements can override this function to activate the pad in pull mode if they wish.
The prototype of the push and pull activate functions.
A function that will be called on sinkpads when chaining buffers. The function typically processes the data contained in the buffer and either consumes the data or passes it on to the internally linked pad(s).
A function that will be called on sinkpads when chaining buffer lists. The function typically processes the data contained in the buffer list and either consumes the data or passes it on to the internally linked pad(s).
Function signature to handle an event for the pad.
A forward function is called for all internally linked pads, see gst_pad_forward().
This function will be called on source pads when a peer element request a buffer at the specified @offset and @length. If this function returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The contents of @buffer is invalid for any other return value.
The signature of the internal pad link iterator function.
Function signature to handle a new link on the pad.
Callback used by gst_pad_add_probe(). Gets called to notify about the current blocking type.
The signature of the query function.
Callback used by gst_pad_sticky_events_foreach().
Function signature to handle a unlinking the pad prom its peer.
A function that can be used with e.g. gst_registry_feature_filter() to get a list of pluginfeature that match certain criteria.
A function that can be used with e.g. gst_registry_plugin_filter() to get a list of plugins that match certain criteria.
A plugin should provide a pointer to a function of either #GstPluginInitFunc or this type in the plugin_desc struct. The function will be called by the loader at startup. One would then register each #GstPluginFeature. This version allows user data to be passed to init function (useful for bindings).
A plugin should provide a pointer to a function of this type in the plugin_desc struct. This function will be called by the loader at startup. One would then register each #GstPluginFeature.
A function that will be called in gst_structure_foreach(). The function may not modify @value.
A function that will be called in gst_structure_map_in_place(). The function may modify @value.
A function that will be called in gst_tag_list_foreach(). The function may not modify the tag list.
A function for merging multiple values of a tag used when registering tags.
A function that will repeatedly be called in the thread created by a #GstTask.
Task function, see gst_task_pool_push().
Custom GstTask thread callback functions that can be installed.
A function that will be called by typefinding.
Used together with gst_value_compare() to compare #GValue items.
Used by gst_value_deserialize() to parse a non-binary form into the #GValue.
Used by gst_value_serialize() to obtain a non-binary form of the #GValue.
Flags for allocators.
GstBinFlags are a set of flags specific to bins. Most are set/used internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro, and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET ().
A set of flags that can be provided to the gst_buffer_copy_into() function to specify which items should be copied.
A set of buffer flags used to describe properties of a #GstBuffer.
Additional flags to control the allocation of a buffer
The different types of buffering methods.
The standard flags that a bus may have.
The result values for a GstBusSyncHandler.
Extra flags for a caps.
Modes of caps intersection
The type of the clock entry
The capabilities of this clock
The return value of a clock operation.
The different kind of clocks.
Core errors are errors inside the core GStreamer library.
These are some terminal style flags you can use when creating your debugging categories to make them stand out in debugging output.
Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE() and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS().
The level defines the importance of a debugging message. The more important a message is, the greater the probability that the debugging system outputs it.
The standard flags that an element may have.
#GstEventType lists the standard event types that can be sent in a pipeline.
#GstEventTypeFlags indicate the aspects of the different #GstEventType values. You can get the type flags of a #GstEventType with the gst_event_type_get_flags() function.
The result of passing data to a pad.
Standard predefined formats
The result of a #GstIteratorItemFunction.
The result of gst_iterator_next().
Library errors are for errors from the library being used by elements (initializing, finalizing, settings, ...)
Flags used when locking miniobjects
Flags used when mapping memory
Flags for wrapped memory.
The different message types that are available.
Extra metadata flags.
Flags for the mini object
The standard flags that an gstobject may have.
The direction of a pad.
Pad state flags
The amount of checking to be done when linking pads. @GST_PAD_LINK_CHECK_CAPS and @GST_PAD_LINK_CHECK_TEMPLATE_CAPS are mutually exclusive. If both are specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed.
Result values from gst_pad_link and friends.
The status of a GstPad. After activating a pad, which usually happens when the parent element goes from READY to PAUSED, the GstPadMode defines if the pad operates in push or pull mode.
Indicates when this pad will become available.
Different return values for the #GstPadProbeCallback.
The different probing types that can occur. When either one of @GST_PAD_PROBE_TYPE_IDLE or @GST_PAD_PROBE_TYPE_BLOCK is used, the probe will be a blocking probe.
Flags for the padtemplate
The different parsing errors that can occur.
Parsing options.
Pipeline flags
Flags used in connection with gst_plugin_add_dependency().
The plugin loading errors
The plugin loading state
The type of a %GST_MESSAGE_PROGRESS. The progress messages inform the application of the status of asynchronous tasks.
The different types of QoS events that can be given to the gst_event_new_qos() method.
Standard predefined Query types
#GstQueryTypeFlags indicate the aspects of the different #GstQueryType values. You can get the type flags of a #GstQueryType with the gst_query_type_get_flags() function.
Element priority ranks. Defines the order in which the autoplugger (or similar rank-picking mechanisms, such as e.g. gst_element_make_from_uri()) will choose this element over an alternative one with the same function.
Resource errors are for any resource used by an element: memory, files, network connections, process space, ... They're typically used by source and sink elements.
The different scheduling flags.
The different search modes.
Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags can be used together.
The different types of seek events. When constructing a seek event with gst_event_new_seek() or when doing gst_segment_do_seek ().
Flags for the GstSegment structure. Currently mapped to the corresponding values of the seek flags.
The possible states an element can be in. States can be changed using gst_element_set_state() and checked using gst_element_get_state().
These are the different state changes an element goes through. %GST_STATE_NULL ⇒ %GST_STATE_PLAYING is called an upwards state change and %GST_STATE_PLAYING ⇒ %GST_STATE_NULL a downwards state change.
The possible return values from a state change function such as gst_element_set_state(). Only @GST_STATE_CHANGE_FAILURE is a real failure.
Stream errors are for anything related to the stream being processed: format errors, media type errors, ... They're typically used by decoders, demuxers, converters, ...
The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the application of new streaming threads and their status.
The type of a %GST_MESSAGE_STRUCTURE_CHANGE.
Extra tag flags used when registering tags.
The different tag merging modes are basically replace, overwrite and append, but they can be seen from two directions. Given two taglists: (A) the tags already in the element and (B) the ones that are supplied to the element ( e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a %GST_EVENT_TAG), how are these tags merged? In the table below this is shown for the cases that a tag exists in the list (A) or does not exists (!A) and combinations thereof.
GstTagScope specifies if a taglist applies to the complete medium or only to one single stream.
The different states a task can be in
The different types of TOC entries (see #GstTocEntry).
How a #GstTocEntry should be repeated. By default, entries are played a single time.
The scope of a TOC.
The probability of the typefind function. Higher values have more certainty in doing a reliable typefind.
Different URI-related errors that can occur.
The different types of URI direction.
The #GstAllocator is used to create new memory.
Subclasses can override the @add_element and @remove_element to update the list of children in the bin.
Parameters passed to the gst_buffer_pool_acquire_buffer() function to control the allocation of the buffer.
The GstBufferPool class.
#GstChildProxy interface.
GStreamer clock class. Override the vmethods to implement the clock functionality.
All pending timeouts or periodic notifies are converted into an entry. Note that GstClockEntry should be treated as an opaque structure. It must not be extended or allocated using a custom allocator.
The class structure of #GstControlBinding.
The class structure of #GstControlSource.
The class structure for a #GstDevice object.
Opaque device monitor class structure.
The opaque #GstDeviceProviderFactoryClass data structure.
A format definition
A structure containing the result of a map operation such as gst_memory_map(). It contains the data and size.
The #GstMeta structure should be included as the first member of a #GstBuffer metadata structure. The structure defines the API of the metadata and should be accessible to all elements using the metadata.
The #GstMetaInfo provides information about a specific metadata structure.
Extra data passed to a "gst-copy" transform #GstMetaTransformFunction.
GStreamer base object class.
A GParamSpec derived structure that contains the meta data for fractional properties.
A plugin should export a variable of this type called plugin_desc. The plugin loader will use the data provided there to initialize the plugin.
#GstPreset interface.
#GstTagSetterInterface interface.
The #GstTaskPoolClass object.
Structure for saving a timestamp and a value.
#GstTocSetterInterface interface.
Any #GstElement using this interface should implement these methods.
VTable for the #GValue @type.