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
Note: Do not use this if you wish to not filter against any of the defined media types. If you wish to do this, simply don't specify any GST_ELEMENT_FACTORY_TYPE_MEDIA flag.
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"
The same thing as #GST_EVENT_TYPE_UPSTREAM | #GST_EVENT_TYPE_DOWNSTREAM.
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().
Can be used as a default value in variables used to store group_id.
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 of GstObject to indicate that they might not be available depending on environment such as OS, device, etc, so such properties will be installed conditionally only if the GstObject is able to support it.
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 GstObject to indicate that
during gst-inspect
and friends, the default value should be used
as default instead of the current value.
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.
Example: The matroskademux uses this value in the case of encrypted WebM, the application will choose the appropriate protection system based on the information received through EME API.
The same thing as #GST_QUERY_TYPE_UPSTREAM | #GST_QUERY_TYPE_DOWNSTREAM.
Constant that defines one GStreamer second.
A value which is guaranteed to never be returned by gst_util_seqnum_next().
Can be used as a default value in variables used to store seqnum.
album containing this data (string)
The album name as it should be displayed, e.g. 'The Jazz Guitar'
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)
The album name as it should be sorted, e.g. 'Jazz Guitar, The'
count of discs inside collection this disc belongs to (unsigned integer)
disc number inside a collection (unsigned integer)
Arbitrary application data (sample)
Some formats allow applications to add their own arbitrary data into files. This data is application dependent.
Name of the application used to create the media (string)
person(s) responsible for the recording (string)
The artist name as it should be displayed, e.g. 'Jimi Hendrix' or 'The Guitar Heroes'
person(s) responsible for the recording, as used for sorting (string)
The artist name as it should be sorted, e.g. 'Hendrix, Jimi' or 'Guitar Heroes, The'
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)
Note: do not use this field to describe the encoding application. Use #GST_TAG_APPLICATION_NAME or #GST_TAG_COMMENT for that.
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)
Must be in the form of 'key=comment' or 'key[lc]=comment' where 'lc' is an ISO-639 language code.
This tag is used for unknown Vorbis comment tags, unknown APE tags and certain ID3v2 comment fields.
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)
See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
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)
See also #GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION
Speed of the capturing device when performing the capture. Represented in m/s. (double)
See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
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).
This tag has been added as this is how it is handled/named in XMP's Iptc4xmpcore schema.
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)
This tag has a predefined set of allowed values: "rotate-0" "rotate-90" "rotate-180" "rotate-270" "flip-rotate-0" "flip-rotate-90" "flip-rotate-180" "flip-rotate-270"
The naming is adopted according to a possible transformation to perform on the image to fix its orientation, obviously equivalent operations will yield the same result.
Rotations indicated by the values are in clockwise direction and 'flip' means an horizontal mirroring.
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)
There is utility API in libgsttag in gst-plugins-base to obtain a translated
language name from the language code: gst_tag_get_language_name()
Name of the language the content is in (string)
Free-form name of the language the content is in, if a language code is not available. This tag should not be set in addition to a language code. It is undefined what language or locale the language name is in.
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)
Midi note number of the audio track. This is useful for sample instruments and in particular for multi-samples.
minimum bitrate in bits/s (unsigned integer)
nominal bitrate in bits/s (unsigned integer). The actual bitrate might be different from this target bitrate.
organization (string)
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).
It is represented by #GstSample in which #GstBuffer contains the binary data and the sample's info #GstStructure may contain any extra information that identifies the origin or meaning of the data.
Private frames in ID3v2 tags ('PRIV' frames) will be represented using this tag, in which case the GstStructure will be named "ID3PrivateFrame" and contain a field named "owner" of type string which contains the owner-identification string from the tag.
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)
The title as it should be displayed, e.g. 'The Doll House'
commonly used title, as used for sorting (string)
The title as it should be sorted, e.g. 'Doll House, The'
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)
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-...
Gets the maximum amount of memory blocks that a buffer can hold. This is a compile time constant that can be queried with the function.
When more memory blocks are added, existing memory blocks will be merged together to make room for the new block.
Modifies a pointer to a #GstBufferList to point to a different #GstBufferList. The modification is done atomically (so this is useful for ensuring thread safety in some cases), and the reference counts are updated appropriately (the old buffer list is unreffed, the new is reffed).
Either new_list
or the #GstBufferList pointed to by old_list
may be %NULL.
pointer to a pointer to a #GstBufferList to be replaced.
pointer to a #GstBufferList that will replace the buffer list pointed to by old_list
.
Modifies a pointer to a #GstBufferList to point to a different
#GstBufferList. This function is similar to gst_buffer_list_replace() except
that it takes ownership of new_list
.
pointer to a pointer to a #GstBufferList to be replaced.
pointer to a #GstBufferList that will replace the bufferlist pointed to by old_list
.
Creates a #GstCapsFeatures from a string representation.
a string representation of a #GstCapsFeatures.
Modifies a pointer to a #GstContext to point to a different #GstContext. The modification is done atomically (so this is useful for ensuring thread safety in some cases), and the reference counts are updated appropriately (the old context is unreffed, the new one is reffed).
Either new_context
or the #GstContext pointed to by old_context
may be %NULL.
pointer to a pointer to a #GstContext to be replaced.
pointer to a #GstContext that will replace the context pointed to by old_context
.
Adds the logging function to the list of logging functions. Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed.
the function to use
Adds a memory ringbuffer based debug logger that stores up to
max_size_per_thread
bytes of logs per thread and times out threads after
thread_timeout
seconds of inactivity.
Logs can be fetched with gst_debug_ring_buffer_logger_get_logs() and the logger can be removed again with gst_debug_remove_ring_buffer_logger(). Only one logger at a time is possible.
Maximum size of log per thread in bytes
Timeout for threads in seconds
To aid debugging applications one can use this method to obtain the whole network of gstreamer elements that form the pipeline into a dot file. This data can be processed with graphviz to get an image.
the top-level pipeline that should be analyzed
type of #GstDebugGraphDetails to use
To aid debugging applications one can use this method to write out the whole network of gstreamer elements that form the pipeline into a dot file. This file can be processed with graphviz to get an image.
dot -Tpng -oimage.png graph_lowlevel.dot
the top-level pipeline that should be analyzed
type of #GstDebugGraphDetails to use
output base filename (e.g. "myplayer")
This works like gst_debug_bin_to_dot_file(), but adds the current timestamp to the filename, so that it can be used to take multiple snapshots.
the top-level pipeline that should be analyzed
type of #GstDebugGraphDetails to use
output base filename (e.g. "myplayer")
Constructs a string that can be used for getting the desired color in color terminals. You need to free the string after use.
the color info
Constructs an integer that can be used for getting the desired color in windows' terminals (cmd.exe). As there is no mean to underline, we simply ignore this attribute.
This function returns 0 on non-windows machines.
the color info
Returns a snapshot of a all categories that are currently in use . This list may change anytime. The caller has to free the list after use.
Changes the coloring mode for debug output.
Returns the default threshold that is used for new categories.
Checks if debugging output is activated.
Checks if the debugging output should be colored.
Get the string representation of a debugging level
the level to get the name for
The default logging handler used by GStreamer. Logging functions get called
whenever a macro like GST_DEBUG or similar is used. By default this function
is setup to output the message and additional info to stderr (or the log file
specified via the GST_DEBUG_FILE environment variable) as received via
user_data
.
You can add other handlers by using gst_debug_add_log_function(). And you can remove this handler by calling gst_debug_remove_log_function(gst_debug_log_default);
category to log
level of the message
the file that emitted the message, usually the FILE identifier
the function that emitted the message
the line from that the message was emitted, usually LINE
the object this message relates to, or %NULL if none
the actual message
the FILE* to log to
Returns the string representation for the specified debug log message formatted in the same way as gst_debug_log_default() (the default handler), without color. The purpose is to make it easy for custom log output handlers to get a log output that is identical to what the default handler would write out.
category to log
level of the message
the file that emitted the message, usually the FILE identifier
the function that emitted the message
the line from that the message was emitted, usually LINE
the object this message relates to, or %NULL if none
the actual message
Logs the given message using the currently registered debugging handlers.
category to log
level of the message is in
the file that emitted the message, usually the FILE identifier
the function that emitted the message
the line from that the message was emitted, usually LINE
the object this message relates to, or %NULL if none
a message string
If libunwind, glibc backtrace or DbgHelp are present a stack trace is printed.
Removes all registered instances of the given logging functions.
the log function to remove, or %NULL to remove the default log function
Removes all registered instances of log functions with the given user data.
user data of the log function to remove
Removes any previously added ring buffer logger with gst_debug_add_ring_buffer_logger().
Fetches the current logs per thread from the ring buffer logger. See gst_debug_add_ring_buffer_logger() for details.
If activated, debugging messages are sent to the debugging handlers. It makes sense to deactivate it for speed issues.
This function is not threadsafe. It makes sense to only call it during initialization.
Whether to use debugging output or not
Changes the coloring mode for debug output.
This function may be called before gst_init().
The coloring mode for debug output. See GstDebugColorMode
.
Changes the coloring mode for debug output.
This function may be called before gst_init().
The coloring mode for debug output. One of the following: "on", "auto", "off", "disable", "unix".
Sets or unsets the use of coloured debugging output. Same as gst_debug_set_color_mode () with the argument being being GST_DEBUG_COLOR_MODE_ON or GST_DEBUG_COLOR_MODE_OFF.
This function may be called before gst_init().
Whether to use colored output or not
Sets the default threshold to the given level and updates all categories to use this threshold.
This function may be called before gst_init().
level to set
Sets all categories which match the given glob style pattern to the given level.
name of the categories to set
level to set them to
Sets the debug logging wanted in the same form as with the GST_DEBUG environment variable. You can use wildcards such as '*', but note that the order matters when you use wild cards, e.g. "foosrc:6,src:3,:2" sets everything to log level 2.
comma-separated list of "category:level" pairs to be used as debug logging levels
%TRUE to clear all previously-set debug levels before setting new thresholds %FALSE if adding the threshold described by list
to the one already set.
Resets all categories with the given name back to the default level.
name of the categories to set
Clean up any resources created by GStreamer in gst_init().
It is normally not needed to call this function in a normal application as the resources will automatically be freed when the program terminates. This function is therefore mostly used by testsuites and other memory profiling tools.
After this call GStreamer (including this method) should not be used anymore.
Get a string describing the error message in the current locale.
the GStreamer error domain this error belongs to.
the error code belonging to the domain.
Gets the #GstEventTypeFlags associated with type
.
Similar to g_filename_to_uri(), but attempts to handle relative file paths
as well. Before converting filename
into an URI, it will be prefixed by
the current working directory if it is a relative path, and then the path
will be canonicalised so that it doesn't contain any './' or '../' segments.
On Windows filename
should be in UTF-8 encoding.
absolute or relative file name path
Gets a string representing the given flow return.
a #GstFlowReturn to get the name of.
Get the unique quark for the given GstFlowReturn.
a #GstFlowReturn to get the quark of.
Get details about the given format.
This helper is mostly helpful for plugins that need to inspect the folder of the main executable to determine their set of features.
When a plugin is initialized from the gst-plugin-scanner external process, the returned path will be the same as from the parent process.
Initializes the GStreamer library, setting up internal path lists, registering built-in elements, and loading standard plugins.
Unless the plugin registry is disabled at compile time, the registry will be loaded. By default this will also check if the registry cache needs to be updated and rescan all plugins if needed. See gst_update_registry() for details and section
Running GStreamer Applications for how to disable automatic registry updates.WARNING: This function will terminate your program if it was unable to initialize GStreamer for some reason. If you want your program to fall back, use gst_init_check() instead.
WARNING: This function does not work in the same way as corresponding functions in other glib-style libraries, such as gtk_init(). In particular, unknown command line options cause this function to abort program execution.
pointer to application's argv
Initializes the GStreamer library, setting up internal path lists, registering built-in elements, and loading standard plugins.
This function will return %FALSE if GStreamer could not be initialized for some reason. If you want your program to fail fatally, use gst_init() instead.
pointer to application's argv
Checks if obj
is a #GstCapsFeatures
Use this function to check if GStreamer has been initialized with gst_init() or gst_init_check().
Modifies a pointer to a #GstMessage to point to a different #GstMessage. This
function is similar to gst_message_replace() except that it takes ownership
of new_message
.
pointer to a pointer to a #GstMessage to be replaced.
pointer to a #GstMessage that will replace the message pointed to by old_message
.
Get a printable name for the given message type. Do not modify or free.
the message type
Get the unique quark for the given message type.
the message type
Check if api
was registered with tag
.
an API
the tag to check
Register and return a GType for the api
and associate it with
tags
.
an API to register
tags for api
Register a new #GstMeta implementation.
The same info
can be retrieved later with gst_meta_get_info() by using
impl
as the key.
the type of the #GstMeta API
the name of the #GstMeta implementation
the size of the #GstMeta structure
a #GstMetaInitFunction
a #GstMetaFreeFunction
a #GstMetaTransformFunction
Register a new custom #GstMeta implementation, backed by an opaque structure holding a #GstStructure.
The registered info can be retrieved later with gst_meta_get_info() by using
name
as the key.
The backing #GstStructure can be retrieved with gst_custom_meta_get_structure(), its mutability is conditioned by the writability of the buffer the meta is attached to.
When transform_func
is %NULL, the meta and its backing #GstStructure
will always be copied when the transform operation is copy, other operations
are discarded, copy regions are ignored.
the name of the #GstMeta implementation
tags for api
a #GstMetaTransformFunction
Atomically modifies a pointer to point to a new mini-object.
The reference count of olddata
is decreased and the reference count of
newdata
is increased.
Either newdata
and the value pointed to by olddata
may be %NULL.
pointer to a pointer to a mini-object to be replaced
pointer to new mini-object
Modifies a pointer to point to a new mini-object. The modification
is done atomically. This version is similar to gst_mini_object_replace()
except that it does not increase the refcount of newdata
and thus
takes ownership of newdata
.
Either newdata
and the value pointed to by olddata
may be %NULL.
pointer to a pointer to a mini-object to be replaced
pointer to new mini-object
Return the name of a pad mode, for use in debug messages mostly.
the pad mode
This function creates a GstArray GParamSpec for use by objects/elements that want to expose properties of GstArray type. This function is typically * used in connection with g_object_class_install_property() in a GObjects's instance_init function.
canonical name of the property specified
nick name for the property specified
description of the property specified
GParamSpec of the array
flags for the property specified
This function creates a fraction GParamSpec for use by objects/elements that want to expose properties of fraction type. This function is typically used in connection with g_object_class_install_property() in a GObjects's instance_init function.
canonical name of the property specified
nick name for the property specified
description of the property specified
minimum value (fraction numerator)
minimum value (fraction denominator)
maximum value (fraction numerator)
maximum value (fraction denominator)
default value (fraction numerator)
default value (fraction denominator)
flags for the property specified
This is a convenience wrapper around gst_parse_launch() to create a #GstBin from a gst-launch-style pipeline description. See gst_parse_launch() and the gst-launch man page for details about the syntax. Ghost pads on the bin for unlinked source or sink pads within the bin can automatically be created (but only a maximum of one ghost pad for each direction will be created; if you expect multiple unlinked source pads or multiple unlinked sink pads and want them all ghosted, you will have to create the ghost pads yourself).
command line describing the bin
whether to automatically create ghost pads for unlinked source or sink pads within the bin
This is a convenience wrapper around gst_parse_launch() to create a #GstBin from a gst-launch-style pipeline description. See gst_parse_launch() and the gst-launch man page for details about the syntax. Ghost pads on the bin for unlinked source or sink pads within the bin can automatically be created (but only a maximum of one ghost pad for each direction will be created; if you expect multiple unlinked source pads or multiple unlinked sink pads and want them all ghosted, you will have to create the ghost pads yourself).
command line describing the bin
whether to automatically create ghost pads for unlinked source or sink pads within the bin
a parse context allocated with gst_parse_context_new(), or %NULL
parsing options, or #GST_PARSE_FLAG_NONE
Get the error quark used by the parsing subsystem.
Create a new pipeline based on command line syntax.
Please note that you might get a return value that is not %NULL even though
the error
is set. In this case there was a recoverable parsing error and you
can try to play the pipeline.
To create a sub-pipeline (bin) for embedding into an existing pipeline use gst_parse_bin_from_description().
the command line describing the pipeline
Create a new pipeline based on command line syntax.
Please note that you might get a return value that is not %NULL even though
the error
is set. In this case there was a recoverable parsing error and you
can try to play the pipeline.
To create a sub-pipeline (bin) for embedding into an existing pipeline use gst_parse_bin_from_description_full().
the command line describing the pipeline
a parse context allocated with gst_parse_context_new(), or %NULL
parsing options, or #GST_PARSE_FLAG_NONE
Create a new element based on command line syntax.
error
will contain an error message if an erroneous pipeline is specified.
An error does not mean that the pipeline could not be constructed.
null-terminated array of arguments
a parse context allocated with gst_parse_context_new(), or %NULL
parsing options, or #GST_PARSE_FLAG_NONE
Get the error quark.
Gets the directory for application specific presets if set by the application.
Sets an extra directory as an absolute path that should be considered when looking for presets. Any presets in the application dir will shadow the system presets.
the application specific preset dir
Iterates the supplied list of UUIDs and checks the GstRegistry for all the decryptors supporting one of the supplied UUIDs.
A null terminated array of strings that contains the UUID values of each protection system that is to be checked.
Iterates the supplied list of UUIDs and checks the GstRegistry for an element that supports one of the supplied UUIDs. If more than one element matches, the system ID of the highest ranked element is selected.
A null terminated array of strings that contains the UUID values of each protection system that is to be checked.
Modifies a pointer to a #GstQuery to point to a different #GstQuery. This
function is similar to gst_query_replace() except that it takes ownership of
new_query
.
Either new_query
or the #GstQuery pointed to by old_query
may be %NULL.
pointer to a pointer to a #GstQuery to be stolen.
pointer to a #GstQuery that will replace the query pointed to by old_query
.
Gets the #GstQueryTypeFlags associated with type
.
Some functions in the GStreamer core might install a custom SIGSEGV handler to better catch and report errors to the application. Currently this feature is enabled by default when loading plugins.
Applications might want to disable this behaviour with the gst_segtrap_set_enabled() function. This is typically done if the application wants to install its own handler without GStreamer interfering.
Applications might want to disable/enable the SIGSEGV handling of the GStreamer core. See gst_segtrap_is_enabled() for more information.
whether a custom SIGSEGV handler should be installed.
Gets a string representing the given state transition.
a #GstStateChange to get the name of.
Get a descriptive string for a given #GstStreamType
a #GstStreamType
Atomically modifies a pointer to point to a new structure.
The #GstStructure oldstr_ptr
is pointing to is freed and
newstr
is taken ownership over.
Either newstr
and the value pointed to by oldstr_ptr
may be %NULL.
It is a programming error if both newstr
and the value pointed to by
oldstr_ptr
refer to the same, non-%NULL structure.
pointer to a place of a #GstStructure to take
a new #GstStructure
Checks if the given type is already registered.
name of the tag
Returns the human-readable description of this tag, You must not change or free this string.
the tag
Returns the human-readable name of this tag, You must not change or free this string.
the tag
Gets the #GType used for this tag.
the tag
Checks if the given tag is fixed. A fixed tag can only contain one value. Unfixed tags can contain lists of values.
tag to check
Modifies a pointer to a #GstTagList to point to a different #GstTagList. The modification is done atomically (so this is useful for ensuring thread safety in some cases), and the reference counts are updated appropriately (the old tag list is unreffed, the new is reffed).
Either new_taglist
or the #GstTagList pointed to by old_taglist
may be
%NULL.
pointer to a pointer to a #GstTagList to be replaced.
pointer to a #GstTagList that will replace the tag list pointed to by old_taglist
.
Modifies a pointer to a #GstTagList to point to a different #GstTagList.
This function is similar to gst_tag_list_replace() except that it takes
ownership of new_taglist
.
pointer to a pointer to a #GstTagList to be replaced.
pointer to a #GstTagList that will replace the taglist pointed to by old_taglist
.
This is a convenience function for the func argument of gst_tag_register(). It concatenates all given strings using a comma. The tag must be registered as a G_TYPE_STRING or this function will fail.
GValue to copy from
This is a convenience function for the func argument of gst_tag_register(). It creates a copy of the first value from the list.
GValue to copy from
Converts type
to a string representation.
a #GstTocEntryType.
Get a list of all active tracer objects owned by the tracing framework for the entirety of the run-time of the process or till gst_deinit() is called.
Registers a new typefind function to be used for typefinding. After registering this function will be available for typefinding. This function is typically called during an element's plugin initialization.
A #GstPlugin, or %NULL for a static typefind function
The name for registering
The rank (or importance) of this typefind function
The #GstTypeFindFunction to use
Optional comma-separated list of extensions that could belong to this type
Optionally the caps that could be returned when typefinding succeeds
Checks if type
is plugin API. See gst_type_mark_as_plugin_api() for
details.
a GType
Marks type
as plugin API. This should be called in class_init
of
elements that expose new types (i.e. enums, flags or internal GObjects) via
properties, signals or pad templates.
Types exposed by plugins are not automatically added to the documentation as they might originate from another library and should in that case be documented via that library instead.
By marking a type as plugin API it will be included in the documentation of the plugin that defines it.
a GType
a set of #GstPluginAPIFlags to further inform cache generation.
Forces GStreamer to re-scan its plugin paths and update the default plugin registry.
Applications will almost never need to call this function, it is only useful if the application knows new plugins have been installed (or old ones removed) since the start of the application (or, to be precise, the first call to gst_init()) and the application wants to make use of any newly-installed plugins without restarting the application.
Applications should assume that the registry update is neither atomic nor thread-safe and should therefore not have any dynamic pipelines running (including the playbin and decodebin elements) and should also not create any elements or access the GStreamer registry while the update is in progress.
Note that this function may block for a significant amount of time.
Constructs a URI for a given valid protocol and location.
Free-function: g_free
Protocol for URI
Location for URI
Parses a URI string into a new #GstUri object. Will return NULL if the URI cannot be parsed. This is identical to gst_uri_from_string() except that the userinfo and fragment components of the URI will not be unescaped while parsing.
Use this when you need to extract a username and password from the userinfo such as https://user:password`example`.com since either may contain a URI-escaped ':' character. gst_uri_from_string() will unescape the entire userinfo component, which will make it impossible to know which ':' delineates the username and password.
The same applies to the fragment component of the URI, such as https://example.com/path#fragment which may contain a URI-escaped '#'.
The URI string to parse.
Extracts the location out of a given valid URI, ie. the protocol and "://" are stripped from the URI, which means that the location returned includes the hostname if one is specified. The returned string must be freed using g_free().
Free-function: g_free
A URI string
Extracts the protocol out of a given valid URI. The returned string must be freed using g_free().
A URI string
Checks if the protocol of a given valid URI matches protocol
.
a URI string
a protocol string (e.g. "http")
Tests if the given string is a valid URI identifier. URIs start with a valid scheme followed by ":" and maybe a string identifying the location.
A URI string
This is a convenience function to join two URI strings and return the result. The returned string should be g_free()'d after use.
The percent-encoded base URI.
The percent-encoded reference URI to join to the base_uri
.
Checks if an element exists that supports the given URI protocol. Note that a positive return value does not imply that a subsequent call to gst_element_make_from_uri() is guaranteed to work.
Whether to check for a source or a sink
Protocol that should be checked for (e.g. "http" or "smb")
Tests if the given string is a valid protocol identifier. Protocols must consist of alphanumeric characters, '+', '-' and '.' and must start with a alphabetic character. See RFC 3986 Section 3.1.
A string
Searches inside array
for search_data
by using the comparison function
search_func
. array
must be sorted ascending.
As search_data
is always passed as second argument to search_func
it's
not required that search_data
has the same type as the array elements.
The complexity of this search function is O(log (num_elements)).
the sorted input array
number of elements in the array
size of every element in bytes
function to compare two elements, search_data
will always be passed as second argument
search mode that should be used
element that should be found
Transforms a #gdouble to a fraction and simplifies the result.
#gdouble to transform
Dumps the memory block into a hex representation. Useful for debugging.
a pointer to the memory to dump
Adds the fractions a_n/``a_d
and b_n/``b_d
and stores
the result in res_n
and res_d
.
Numerator of first value
Denominator of first value
Numerator of second value
Denominator of second value
Compares the fractions a_n/``a_d
and b_n/``b_d
and returns
-1 if a < b, 0 if a = b and 1 if a > b.
Numerator of first value
Denominator of first value
Numerator of second value
Denominator of second value
Multiplies the fractions a_n/``a_d
and b_n/``b_d
and stores
the result in res_n
and res_d
.
Numerator of first value
Denominator of first value
Numerator of second value
Denominator of second value
Transforms a fraction to a #gdouble.
Fraction numerator as #gint
Fraction denominator #gint
Get a property of type %GST_TYPE_ARRAY and transform it into a #GValueArray. This allow language bindings to get GST_TYPE_ARRAY properties which are otherwise not an accessible type.
Calculates the greatest common divisor of a
and b
.
First value as #gint
Second value as #gint
Calculates the greatest common divisor of a
and b
.
First value as #gint64
Second value as #gint64
Return a constantly incrementing group id.
This function is used to generate a new group-id for the stream-start event.
This function never returns %GST_GROUP_ID_INVALID (which is 0)
Compare two sequence numbers, handling wraparound.
The current implementation just returns (gint32)(s1
- s2
).
A sequence number.
Another sequence number.
Return a constantly incrementing sequence number.
This function is used internally to GStreamer to be able to determine which events and messages are "the same". For example, elements may set the seqnum on a segment-done message to be the same as that of the last seek event, to indicate that event and the message correspond to the same segment.
This function never returns %GST_SEQNUM_INVALID (which is 0).
Converts the string value to the type of the objects argument and sets the argument with it.
Note that this function silently returns if object
has no property named
name
or when value
cannot be converted to the type of the property.
the object to set the argument of
the name of the argument to set
the string value to set
Transfer a #GValueArray to %GST_TYPE_ARRAY and set this value on the specified property name. This allow language bindings to set GST_TYPE_ARRAY properties which are otherwise not an accessible type.
the object to set the array to
the name of the property to set
a #GValueArray containing the values
Converts the string to the type of the value and sets the value with it.
Note that this function is dangerous as it does not return any indication if the conversion worked or not.
the string to get the value from
Scale val
by the rational number num
/ denom,
avoiding overflows and
underflows and without loss of precision.
This function can potentially be very slow if val and num are both greater than G_MAXUINT32.
the number to scale
the numerator of the scale ratio
the denominator of the scale ratio
Scale val
by the rational number num
/ denom,
avoiding overflows and
underflows and without loss of precision.
This function can potentially be very slow if val and num are both greater than G_MAXUINT32.
the number to scale
the numerator of the scale ratio
the denominator of the scale ratio
Scale val
by the rational number num
/ denom,
avoiding overflows and
underflows and without loss of precision. num
must be non-negative and
denom
must be positive.
guint64 (such as a #GstClockTime) to scale.
numerator of the scale factor.
denominator of the scale factor.
Scale val
by the rational number num
/ denom,
avoiding overflows and
underflows and without loss of precision. num
must be non-negative and
denom
must be positive.
guint64 (such as a #GstClockTime) to scale.
numerator of the scale factor.
denominator of the scale factor.
Scale val
by the rational number num
/ denom,
avoiding overflows and
underflows and without loss of precision. num
must be non-negative and
denom
must be positive.
guint64 (such as a #GstClockTime) to scale.
numerator of the scale factor.
denominator of the scale factor.
Scale val
by the rational number num
/ denom,
avoiding overflows and
underflows and without loss of precision.
This function can potentially be very slow if val and num are both greater than G_MAXUINT32.
the number to scale
the numerator of the scale ratio
the denominator of the scale ratio
Determines if value1
and value2
can be compared.
a value to compare
another value to compare
Determines if intersecting two values will produce a valid result. Two values will produce a valid intersection if they have the same type.
a value to intersect
another value to intersect
Checks if it's possible to subtract subtrahend
from minuend
.
the value to subtract from
the value to subtract
Determines if value1
and value2
can be non-trivially unioned.
Any two values can be trivially unioned by adding both of them
to a GstValueList. However, certain types have the possibility
to be unioned in a simpler way. For example, an integer range
and an integer can be unioned if the integer is a subset of the
integer range. If there is the possibility that two values can
be unioned, this function returns %TRUE.
a value to union
another value to union
Compares value1
and value2
. If value1
and value2
cannot be
compared, the function returns GST_VALUE_UNORDERED. Otherwise,
if value1
is greater than value2
, GST_VALUE_GREATER_THAN is returned.
If value1
is less than value2
, GST_VALUE_LESS_THAN is returned.
If the values are equal, GST_VALUE_EQUAL is returned.
a value to compare
another value to compare
Tries to deserialize a string into the type specified by the given GValue. If the operation succeeds, %TRUE is returned, %FALSE otherwise.
string to deserialize
Tries to deserialize a string into the type specified by the given GValue.
pspec
may be used to guide the deserializing of nested members.
If the operation succeeds, %TRUE is returned, %FALSE otherwise.
string to deserialize
the #GParamSpec describing the expected value
Fixate src
into a new value dest
.
For ranges, the first element is taken. For lists and arrays, the
first item is fixated and returned.
If src
is already fixed, this function returns %FALSE.
the #GValue destination
the #GValue to fixate
Multiplies the two #GValue items containing a #GST_TYPE_FRACTION and sets
product
to the product of the two fractions.
a GValue initialized to #GST_TYPE_FRACTION
a GValue initialized to #GST_TYPE_FRACTION
a GValue initialized to #GST_TYPE_FRACTION
Subtracts the subtrahend
from the minuend
and sets dest
to the result.
a GValue initialized to #GST_TYPE_FRACTION
a GValue initialized to #GST_TYPE_FRACTION
a GValue initialized to #GST_TYPE_FRACTION
Gets the bitmask specified by value
.
a GValue initialized to #GST_TYPE_BITMASK
Gets the contents of value
.
a GValue initialized to GST_TYPE_CAPS_FEATURES
Gets the maximum of the range specified by value
.
a GValue initialized to GST_TYPE_DOUBLE_RANGE
Gets the minimum of the range specified by value
.
a GValue initialized to GST_TYPE_DOUBLE_RANGE
Retrieve the flags field of a GstFlagSet value
.
a GValue initialized to #GST_TYPE_FLAG_SET
Retrieve the mask field of a GstFlagSet value
.
a GValue initialized to #GST_TYPE_FLAG_SET
Gets the denominator of the fraction specified by value
.
a GValue initialized to #GST_TYPE_FRACTION
Gets the numerator of the fraction specified by value
.
a GValue initialized to #GST_TYPE_FRACTION
Gets the maximum of the range specified by value
.
a GValue initialized to GST_TYPE_FRACTION_RANGE
Gets the minimum of the range specified by value
.
a GValue initialized to GST_TYPE_FRACTION_RANGE
Gets the maximum of the range specified by value
.
a GValue initialized to GST_TYPE_INT64_RANGE
Gets the minimum of the range specified by value
.
a GValue initialized to GST_TYPE_INT64_RANGE
Gets the step of the range specified by value
.
a GValue initialized to GST_TYPE_INT64_RANGE
Gets the maximum of the range specified by value
.
a GValue initialized to GST_TYPE_INT_RANGE
Gets the minimum of the range specified by value
.
a GValue initialized to GST_TYPE_INT_RANGE
Gets the step of the range specified by value
.
a GValue initialized to GST_TYPE_INT_RANGE
Initialises the target value to be of the same type as source and then copies the contents from source to target.
the source value
Calculates the intersection of two values. If the values have
a non-empty intersection, the value representing the intersection
is placed in dest,
unless %NULL. If the intersection is non-empty,
dest
is not modified.
a value to intersect
another value to intersect
Tests if the given GValue, if available in a GstStructure (or any other container) contains a "fixed" (which means: one value) or an "unfixed" (which means: multiple possible values, such as data lists or data ranges) value.
the #GValue to check
Check that value1
is a subset of value2
.
a #GValue
a #GValue
Registers functions to perform calculations on #GValue items of a given type. Each type can only be added once.
structure containing functions to register
tries to transform the given value
into a string representation that allows
getting back this string later on using gst_value_deserialize().
Free-function: g_free
a #GValue to serialize
Sets value
to the bitmask specified by bitmask
.
a GValue initialized to #GST_TYPE_BITMASK
the bitmask
Sets the contents of value
to features
.
a GValue initialized to GST_TYPE_CAPS_FEATURES
the features to set the value to
Sets value
to the range specified by start
and end
.
a GValue initialized to GST_TYPE_DOUBLE_RANGE
the start of the range
the end of the range
Sets value
to the flags and mask values provided in flags
and mask
.
The flags
value indicates the values of flags, the mask
represents
which bits in the flag value have been set, and which are "don't care"
a GValue initialized to %GST_TYPE_FLAG_SET
The value of the flags set or unset
The mask indicate which flags bits must match for comparisons
Sets value
to the fraction specified by numerator
over denominator
.
The fraction gets reduced to the smallest numerator and denominator,
and if necessary the sign is moved to the numerator.
a GValue initialized to #GST_TYPE_FRACTION
the numerator of the fraction
the denominator of the fraction
Sets value
to the range specified by start
and end
.
a GValue initialized to GST_TYPE_FRACTION_RANGE
the start of the range (a GST_TYPE_FRACTION GValue)
the end of the range (a GST_TYPE_FRACTION GValue)
Sets value
to the range specified by numerator_start/``denominator_start
and numerator_end/``denominator_end
.
a GValue initialized to GST_TYPE_FRACTION_RANGE
the numerator start of the range
the denominator start of the range
the numerator end of the range
the denominator end of the range
Sets value
to the range specified by start
and end
.
a GValue initialized to GST_TYPE_INT64_RANGE
the start of the range
the end of the range
Sets value
to the range specified by start,
end
and step
.
a GValue initialized to GST_TYPE_INT64_RANGE
the start of the range
the end of the range
the step of the range
Sets value
to the range specified by start
and end
.
a GValue initialized to GST_TYPE_INT_RANGE
the start of the range
the end of the range
Sets value
to the range specified by start,
end
and step
.
a GValue initialized to GST_TYPE_INT_RANGE
the start of the range
the end of the range
the step of the range
Subtracts subtrahend
from minuend
and stores the result in dest
.
Note that this means subtraction as in sets, not as in mathematics.
the value to subtract from
the value to subtract
Creates a GValue corresponding to the union of value1
and value2
.
a value to union
another value to union
Gets the version number of the GStreamer library.
This function returns a string that is useful for describing this version of GStreamer to the outside world: user agent strings, logging, ...
The allocator name for the default system memory allocator