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.
A function that will be called in gst_caps_filter_and_map_in_place(). The function may modify features and structure, and both will be removed from the caps if FALSE is returned.
A function that will be called in gst_caps_foreach(). The function may not modify features or structure.
A function that will be called in gst_caps_map_in_place(). The function may modify features and structure.
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.
Function called for each pad when using gst_element_foreach_sink_pad(), gst_element_foreach_src_pad(), or gst_element_foreach_pad().
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 info's flags. The function should return a pointer that contains at least maxsize bytes.
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() with info.
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.
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 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_filter_and_map_in_place(). The function may modify value, and the value will be removed from the structure if FALSE is returned.
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.
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.
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 result of a GstPromise
The different types of QoS events that can be given to the gst_event_new_qos() method.
Standard predefined Query types
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.
Flag that describe the value. These flags help applications processing the logs to understand the values.
Tracing record will contain fields that contain a measured value or extra meta-data. One such meta data are values that tell where a measurement was taken. This enumerating declares to which scope such a meta data field relates to. If it is e.g. GST_TRACER_VALUE_SCOPE_PAD, then each of the log events may contain values for different GstPads
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 allocator name for the default system memory allocator
Combination of all possible fields that can be copied with gst_buffer_copy_into().
Combination of all possible metadata fields that can be copied with gst_buffer_copy_into().
Constant for no-offset return results.
Constant to define an undefined clock time.
Elements interacting with hardware devices should specify this classifier in their metadata. You may need to put the element in "READY" state to test if the hardware is present in the system.
Elements of any of the defined GST_ELEMENT_FACTORY_LIST types
All sinks handling audio, video or image media types
All encoders handling audio media types
All elements used to 'decode' streams (decoders, demuxers, parsers, depayloaders)
Elements matching any of the defined GST_ELEMENT_FACTORY_TYPE_MEDIA types
All encoders handling video or image media types
Name and contact details of the author(s). Use \n to separate multiple author details. E.g: "Joe Bloggs <joe.blogs at foo.com>"
Sentence describing the purpose of the element. E.g: "Write stream to a file"
Set uri pointing to user documentation. Applications can use this to show help for e.g. effects to users.
Elements that bridge to certain other products can include an icon of that used product. Application can show the icon in menus/selectors to help identifying specific elements.
String describing the type of element, as an unordered list separated with slashes ('/'). See draft-klass.txt of the design docs for more details and common types. E.g: "Sink/File"
The long English name of the element. E.g. "File Sink"
Builds a string using errno describing the previously failed system call. To be used as the debug argument in GST_ELEMENT_ERROR
A mask value with all bits set, for use as a GstFlagSet mask where all flag bits must match exactly
The PERCENT format is between 0 and this value
The value used to scale down the reported PERCENT format value to its real value.
A value which is guaranteed to never be returned by gst_util_group_id_next().
To be used in GST_PLUGIN_DEFINE if unsure about the licence.
GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE
GstMapFlags value alias for GST_MAP_READ | GST_MAP_WRITE
This metadata stays relevant as long as memory layout is unchanged.
Constant that defines one GStreamer millisecond.
Constant that defines one GStreamer nanosecond
Use this flag on GObject properties to signal they can make sense to be. controlled over time. This hint is used by the GstController.
Use this flag on GObject properties of GstElements to indicate that they can be changed when the element is in the PAUSED or lower state. This flag implies GST_PARAM_MUTABLE_READY.
Use this flag on GObject properties of GstElements to indicate that they can be changed when the element is in the PLAYING or lower state. This flag implies GST_PARAM_MUTABLE_PAUSED.
Use this flag on GObject properties of GstElements to indicate that they can be changed when the element is in the READY or lower state.
Bits based on GST_PARAM_USER_SHIFT can be used by 3rd party applications.
The field name in a GstCaps that is used to signal the UUID of the protection system.
The protection system value of the unspecified UUID. In some cases the system protection ID is not present in the contents or in their metadata, as encrypted WebM. This define is used to set the value of the "system_id" field in GstProtectionEvent, with this value, the application will use an external information to choose which protection system to use.
printf format type used to debug GStreamer types. You can use this in combination with GStreamer's debug logging system as well as the functions gst_info_vasprintf(), gst_info_strdup_vprintf() and gst_info_strdup_printf() to pretty-print the following types: GstCaps, GstStructure, GstCapsFeatures, GstTagList, GstDateTime, GstBuffer, GstBufferList, GstMessage, GstEvent, GstQuery, GstContext, GstPad, GstObject All GObject types will be printed as typename plus pointer, and everything else will simply be printed as pointer address.
Constant that defines one GStreamer second.
printf format type used to debug GStreamer segments. You can use this in combination with GStreamer's debug logging system as well as the functions gst_info_vasprintf(), gst_info_strdup_vprintf() and gst_info_strdup_printf() to pretty-print GstSegment structures. This can only be used on pointers to GstSegment structures.
A value which is guaranteed to never be returned by gst_util_seqnum_next().
album containing this data (string)
The artist of the entire album, as it should be displayed.
The artist of the entire album, as it should be sorted.
album gain in db (double)
peak of the album (double)
album containing this data, as used for sorting (string)
count of discs inside collection this disc belongs to (unsigned integer)
disc number inside a collection (unsigned integer)
Arbitrary application data (sample)
Name of the application used to create the media (string)
person(s) responsible for the recording (string)
person(s) responsible for the recording, as used for sorting (string)
generic file attachment (sample) (sample taglist should specify the content type and if possible set "filename" to the file name of the attachment)
codec the audio data is stored in (string)
number of beats per minute in audio (double)
exact or average bitrate in bits/s (unsigned integer)
codec the data is stored in (string)
free text commenting the data (string)
person(s) who composed the recording (string)
The composer's name, used for sorting (string)
conductor/performer refinement (string)
contact information (string)
container format the data is stored in (string)
copyright notice of the data (string)
URI to location where copyright details can be found (string)
date the data was created (GDate structure)
date and time the data was created (GstDateTime structure)
short text describing the content of the data (string)
Manufacturer of the device used to create the media (string)
Model of the device used to create the media (string)
length in GStreamer time units (nanoseconds) (unsigned 64-bit integer)
name of the person or organisation that encoded the file. May contain a copyright message if the person or organisation also holds the copyright (string)
encoder used to encode this stream (string)
version of the encoder used to encode this stream (unsigned integer)
key/value text commenting the data (string)
genre this data belongs to (string)
Indicates the direction the device is pointing to when capturing a media. It is represented as degrees in floating point representation, 0 means the geographic north, and increases clockwise (double from 0 to 360)
The city (english name) where the media has been produced (string).
The country (english name) where the media has been produced (string).
geo elevation of where the media has been recorded or produced in meters according to WGS84 (zero is average sea level) (double).
Represents the expected error on the horizontal positioning in meters (double).
geo latitude location of where the media has been recorded or produced in degrees according to WGS84 (zero at the equator, negative values for southern latitudes) (double).
geo longitude location of where the media has been recorded or produced in degrees according to WGS84 (zero at the prime meridian in Greenwich/UK, negative values for western longitudes). (double).
Indicates the movement direction of the device performing the capture of a media. It is represented as degrees in floating point representation, 0 means the geographic north, and increases clockwise (double from 0 to 360)
Speed of the capturing device when performing the capture. Represented in m/s. (double)
human readable descriptive location of where the media has been recorded or produced. (string).
A location 'smaller' than GST_TAG_GEO_LOCATION_CITY that specifies better where the media has been produced. (e.g. the neighborhood) (string).
Groups together media that are related and spans multiple tracks. An example are multiple pieces of a concerto. (string)
Homepage for this media (i.e. artist or movie homepage) (string)
image (sample) (sample taglist should specify the content type and preferably also set "image-type" field as GstTagImageType)
Represents the 'Orientation' tag from EXIF. Defines how the image should be rotated and mirrored for display. (string)
Information about the people behind a remix and similar interpretations of another existing piece (string)
International Standard Recording Code - see http://www.ifpi.org/isrc/ (string)
comma separated keywords describing the content (string).
ISO-639-2 or ISO-639-1 code for the language the content is in (string)
Name of the language the content is in (string)
license of data (string)
URI to location where license details can be found (string)
Origin of media as a URI (location, where the original of the file or stream is hosted) (string)
The lyrics of the media (string)
maximum bitrate in bits/s (unsigned integer)
minimum bitrate in bits/s (unsigned integer)
nominal bitrate in bits/s (unsigned integer). The actual bitrate might be different from this target bitrate.
person(s) performing (string)
image that is meant for preview purposes, e.g. small icon-sized version (sample) (sample taglist should specify the content type)
Any private data that may be contained in tags (sample).
Name of the label or publisher (string)
reference level of track and album gain values (double)
serial number of track (unsigned integer)
Number of the episode within a season/show (unsigned integer)
Name of the show, used for displaying (string)
Number of the season of a show/series (unsigned integer)
Name of the show, used for sorting (string)
codec/format the subtitle data is stored in (string)
commonly used title (string)
commonly used title, as used for sorting (string)
count of tracks inside collection this track belongs to (unsigned integer)
track gain in db (double)
track number inside a collection (unsigned integer)
peak of the track (double)
Rating attributed by a person (likely the application user). The higher the value, the more the user likes this media (unsigned int from 0 to 100)
version of this data (string)
codec the video data is stored in (string)
A string that can be used in printf-like format strings to display a GstClockTime value in h:m:s format. Use GST_TIME_ARGS() to construct the matching arguments.
Special value for the repeat_count set in gst_toc_entry_set_loop() or returned by gst_toc_entry_set_loop() to indicate infinite looping.
Value for GstUri<!-- -->.port to indicate no port number.
Constant that defines one GStreamer microsecond.
Indicates that the first value provided to a comparison function (gst_value_compare()) is equal to the second one.
Indicates that the first value provided to a comparison function (gst_value_compare()) is greater than the second one.
Indicates that the first value provided to a comparison function (gst_value_compare()) is lesser than the second one.
Indicates that the comparison function (gst_value_compare()) can not determine a order for the two provided values.
The major version of GStreamer at compile time:
The micro version of GStreamer at compile time:
The minor version of GStreamer at compile time:
The nano version of GStreamer at compile time: Actual releases have 0, GIT versions have 1, prerelease versions have 2-...
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.
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 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 for arrays of values.
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.
Metadata type that holds information about a sample from a protection-protected track, including the information needed to decrypt it (if it is encrypted).
GstStream class structure
GstStreamCollection class structure
The GstTaskPoolClass object.
Structure for saving a timestamp and a value.
Any GstElement using this interface should implement these methods.
VTable for the GValue type.