Package org.freedesktop.gstreamer.gst
The following native libraries are required and will be loaded: libgstreamer-1.0.so
For namespace-global declarations, refer to the Gst class documentation.
Debugutils
These utility functions help with generating dot graphs which can be rendered with [graphviz] to multiple formats.[graphviz]: https://graphviz.org/
Gst
GStreamer is a framework for constructing graphs of various filters (termed elements here) that will handle streaming media.Any discrete (packetizable) media type is supported, with provisions for automatically determining source type.
Formatting/framing information is provided with a powerful negotiation framework.
Plugins are heavily used to provide for all elements, allowing one to construct plugins outside of the GST library, even released binary-only if license require (please don't).
GStreamer covers a wide range of use cases including: playback, recording, editing, serving streams, voice over ip and video calls.
The GStreamer library should be initialized with
gst_init() before it can be used. You should pass pointers to the main argc
and argv variables so that GStreamer can process its own command line
options, as shown in the following example.
Initializing the gstreamer library
int main (int argc, char *argv[])
{
// initialize the GStreamer library
gst_init (&argc, &argv);
...
}
It's allowed to pass two null pointers to gst_init() in case you don't want
to pass the command line args to GStreamer.
You can also use GOptionContext to initialize your own parameters as shown in
the next code fragment:
Initializing own parameters when initializing GStreamer
static gboolean stats = FALSE;
...
int
main (int argc, char *argv[])
{
GOptionEntry options[] = {
{"tags", 't', 0, G_OPTION_ARG_NONE, &tags,
N_("Output tags (also known as metadata)"), NULL},
{NULL}
};
ctx = g_option_context_new ("[ADDITIONAL ARGUMENTS]");
g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
g_option_context_add_group (ctx, gst_init_get_option_group ());
if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
g_print ("Error initializing: %s\\n", GST_STR_NULL (err->message));
exit (1);
}
g_option_context_free (ctx);
...
}
Use gst_version() to query the library version at runtime or use the GST_VERSION_* macros to find the version at compile time. Optionally gst_version_string() returns a printable string.
The gst_deinit() call is used to clean up all internal resources used by GStreamer. It is mostly used in unit tests to check for leaks.
Gstcompat
Please do not use these in new code. These symbols are only available by defining GST_DISABLE_DEPRECATED. This can be done in CFLAGS for compiling old code.Gsterror
GStreamer elements can throw non-fatal warnings and fatal errors. Higher-level elements and applications can programmatically filter the ones they are interested in or can recover from, and have a default handler handle the rest of them.The rest of this section will use the term "error" to mean both (non-fatal) warnings and (fatal) errors; they are treated similarly.
Errors from elements are the combination of a GError and a debug string.
The GError contains:
- a domain type: CORE, LIBRARY, RESOURCE or STREAM
- a code: an enum value specific to the domain
- a translated, human-readable message
- a non-translated additional debug string, which also contains
- file and line information
Elements do not have the context required to decide what to do with errors. As such, they should only inform about errors, and stop their processing. In short, an element doesn't know what it is being used for.
It is the application or compound element using the given element that
has more context about the use of the element. Errors can be received by
listening to the GstBus of the element/pipeline for GstMessage objects with
the type MessageType.ERROR or MessageType.WARNING. The thrown errors should
be inspected, and filtered if appropriate.
An application is expected to, by default, present the user with a dialog box (or an equivalent) showing the error message. The dialog should also allow a way to get at the additional debug information, so the user can provide bug reporting information.
A compound element is expected to forward errors by default higher up
the hierarchy; this is done by default in the same way as for other types
of GstMessage.
When applications or compound elements trigger errors that they can recover from, they can filter out these errors and take appropriate action. For example, an application that gets an error from xvimagesink that indicates all XVideo ports are taken, the application can attempt to use another sink instead.
Elements throw errors using the GST_ELEMENT_ERROR convenience macro:
Throwing an error
GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
(_("No file name specified for reading.")), (NULL));
Things to keep in mind:
- Don't go off inventing new error codes. The ones currently provided should be enough. If you find your type of error does not fit the current codes, you should use FAILED.
- Don't provide a message if the default one suffices.
this keeps messages more uniform. Use (
null) - not forgetting the parentheses. - If you do supply a custom message, it should be marked for translation. The message should start with a capital and end with a period. The message should describe the error in short, in a human-readable form, and without any complex technical terms. A user interface will present this message as the first thing a user sees. Details, technical info, ... should go in the debug string.
- The debug string can be as you like. Again, use (
null) if there's nothing to add - file and line number will still be passed.GST_ERROR_SYSTEMcan be used as a shortcut to give debug information on a system call error.
Gstformat
GstFormats functions are used to register a new format to the gstreamer core. Formats can be used to perform seeking or conversions/query operations.Gstinfo
GStreamer's debugging subsystem is an easy way to get information about what the application is doing. It is not meant for programming errors. Use GLib methods (g_warning and friends) for that.The debugging subsystem works only after GStreamer has been initialized
- for example by calling gst_init().
The debugging subsystem is used to log informational messages while the
application runs. Each messages has some properties attached to it. Among
these properties are the debugging category, the severity (called "level"
here) and an optional GObject it belongs to. Each of these messages is sent
to all registered debugging handlers, which then handle the messages.
GStreamer attaches a default handler on startup, which outputs requested
messages to stderr.
Messages are output by using shortcut macros like GST_DEBUG,
GST_CAT_ERROR_OBJECT or similar. These all expand to calling gst_debug_log()
with the right parameters.
The only thing a developer will probably want to do is define his own
categories. This is easily done with 3 lines. At the top of your code,
declare
the variables and set the default category.
GST_DEBUG_CATEGORY_STATIC (my_category); // define category (statically)
#define GST_CAT_DEFAULT my_category // set as default
After that you only need to initialize the category.
GST_DEBUG_CATEGORY_INIT (my_category, "my category",
0, "This is my very own");
Initialization must be done before the category is used first.
Plugins do this
in their plugin_init function, libraries and applications should do that
during their initialization.
The whole debugging subsystem can be disabled at build time with passing the --disable-gst-debug switch to configure. If this is done, every function, macro and even structs described in this file evaluate to default values or nothing at all. So don't take addresses of these functions or use other tricks. If you must do that for some reason, there is still an option. If the debugging subsystem was compiled out, GST_DISABLE_GST_DEBUG is defined in <gst/gst.h>, so you can check that before doing your trick. Disabling the debugging subsystem will give you a slight (read: unnoticeable) speed increase and will reduce the size of your compiled code. The GStreamer library itself becomes around 10% smaller.
Please note that there are naming conventions for the names of debugging categories. These are explained at GST_DEBUG_CATEGORY_INIT().
Gstparamspec
GParamSpec implementations specific to GStreamer.Gstparse
These function allow to create a pipeline based on the syntax used in the gst-launch-1.0 utility (see man-page for syntax documentation).Please note that these functions take several measures to create somewhat dynamic pipelines. Due to that such pipelines are not always reusable (set the state to NULL and back to PLAYING).
Gstprotection
The GstProtectionMeta class enables the information needed to decrypt aGstBuffer to be attached to that buffer.
Typically, a demuxer element would attach GstProtectionMeta objects
to the buffers that it pushes downstream. The demuxer would parse the
protection information for a video/audio frame from its input data and use
this information to populate the GstStructure info field,
which is then encapsulated in a GstProtectionMeta object and attached to
the corresponding output buffer using the gst_buffer_add_protection_meta()
function. The information in this attached GstProtectionMeta would be
used by a downstream decrypter element to recover the original unencrypted
frame.
In addition to the GstProtectionMeta demuxers signal encrypted streams with
specific caps. The caps GstStructure name will usually depend on the
encryption scheme, for instance Common Encryption will be signaled with
application/x-cenc. To prevent loss of information the media type of the
decrypted stream will be stored in a original-media-type string field.
Downstream elements can re-use that information, for instance decryptors can
set their source pad caps according to the original-media-type received on
their sink pad.
Gststreams
AGstStream is a high-level object defining a stream of data which is, or
can be, present in a GstPipeline.
It is defined by a unique identifier, a "Stream ID". A GstStream does not
automatically imply the stream is present within a pipeline or element.
Any element that can introduce new streams in a pipeline should create the
appropriate GstStream object, and can convey that object via the
EventType.STREAM_START event and/or the GstStreamCollection.
Elements that do not modify the nature of the stream can add extra information
on it (such as enrich the GstCaps, or GstTagList). This is typically done
by parsing elements.
Gstvalue
GValue implementations specific to GStreamer.
Note that operations on the same GValue from multiple threads may lead to
undefined behaviour.
Gstversion
Use the GST_VERSION_* macros e.g. when defining own plugins. The GStreamer runtime checks if these plugin and core version match and refuses to use a plugin compiled against a different version of GStreamer. You can also use the macros to keep the GStreamer version information in your application.Use the gst_version() function if you want to know which version of GStreamer you are currently linked against.
The version macros get defined by including "gst/gst.h".
-
ClassDescriptionFunctional interface declaration of the
AllocationMetaParamsAggregatorcallback.Parameters to control the allocation of memoryMemory is usually created by allocators with a gst_allocator_alloc() method call.The Allocator$Impl type represents a native instance of the abstract Allocator class.TheGstAllocatoris used to create new memory.Allocator.Builder<B extends Allocator.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Flags for allocators.TheGstAtomicQueueobject implements a queue that can be used from multiple threads without performing any blocking operations.GstBinis an element that can contain otherGstElement, allowing them to be managed as a group.Subclasses can overrideGstBinClass::add_element andGstBinClass::remove_element to update the list of children in the bin.Bin.Builder<B extends Bin.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Functional interface declaration of theDeepElementAddedCallbackcallback.Functional interface declaration of theDeepElementRemovedCallbackcallback.Functional interface declaration of theDoLatencyCallbackcallback.Functional interface declaration of theElementAddedCallbackcallback.Functional interface declaration of theElementRemovedCallbackcallback.GstBinFlags are a set of flags specific to bins.A fundamental type that describes a 64-bit bitmaskBuffers are the basic unit of data transfer in GStreamer.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 aGstBuffer.Functional interface declaration of theBufferForeachMetaFunccallback.The different types of buffering methods.Buffer lists are an object containing a list of buffers.Functional interface declaration of theBufferListFunccallback.Alias forGstMapInfoto be used with g_auto():AGstBufferPoolis an object that can be used to pre-allocate and recycle buffers of the same size and with the same properties.TheGstBufferPoolclass.BufferPool.Builder<B extends BufferPool.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Additional flags to control the allocation of a bufferParameters passed to the gst_buffer_pool_acquire_buffer() function to control the allocation of the buffer.TheGstBusis an object responsible for deliveringGstMessagepackets in a first-in first-out way from the streaming threads (seeGstTask) to the application.Bus.Builder<B extends Bus.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.GStreamer bus class.Functional interface declaration of theMessageCallbackcallback.Functional interface declaration of theSyncMessageCallbackcallback.The standard flags that a bus may have.Functional interface declaration of theBusFunccallback.Functional interface declaration of theBusSyncHandlercallback.The result values for a GstBusSyncHandler.Interface for an array of bytes.Functional interface declaration of theResizeCallbackcallback.Caps (capabilities) are lightweight refcounted objects describing media types.GstCapsFeaturescan optionally be set on aGstCapsto add requirements for additional features for a specificGstStructure.Functional interface declaration of theCapsFilterMapFunccallback.Extra flags for a caps.Functional interface declaration of theCapsForeachFunccallback.Modes of caps intersectionFunctional interface declaration of theCapsMapFunccallback.This interface abstracts handling of property sets for elements with children.Functional interface declaration of theChildAddedCallbackcallback.The ChildProxy$Impl type represents a native instance of the ChildProxy interface.GstChildProxyinterface.Functional interface declaration of theChildRemovedCallbackcallback.GStreamer uses a global clock to synchronize the plugins in a pipeline.Clock.Builder<B extends Clock.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.The Clock$Impl type represents a native instance of the abstract Clock class.GStreamer clock class.Functional interface declaration of theSyncedCallbackcallback.Functional interface declaration of theClockCallbackcallback.All pending timeouts or periodic notifies are converted into an entry.The type of the clock entryThe capabilities of this clockA datatype to hold the handle to an outstanding sync or async clock callback.The return value of a clock operation.A datatype to hold a time, measured in nanoseconds.A datatype to hold a time difference, measured in nanoseconds.The different kind of clocks.GstContextis a container object used to store contexts like a device context, a display server connection and similar concepts that should be shared between multiple elements.A base class for value mapping objects that attaches control sources toGObjectproperties.ControlBinding.Builder<B extends ControlBinding.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.The ControlBinding$Impl type represents a native instance of the abstract ControlBinding class.The class structure ofGstControlBinding.Functional interface declaration of theControlBindingConvertcallback.TheGstControlSourceis a base class for control value sources that could be used to get timestamp-value pairs.ControlSource.Builder<B extends ControlSource.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.The ControlSource$Impl type represents a native instance of the abstract ControlSource class.The class structure ofGstControlSource.Functional interface declaration of theControlSourceGetValuecallback.Functional interface declaration of theControlSourceGetValueArraycallback.Core errors are errors inside the core GStreamer library.Extra custom metadata.Functional interface declaration of theCustomMetaTransformFunctioncallback.Struct to store date, time and timezone information altogether.This is the struct that describes the categories.These are some terminal style flags you can use when creating your debugging categories to make them stand out in debugging output.Functional interface declaration of theDebugFuncPtrcallback.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.GstDeviceare objects representing a device, they contain relevant metadata about the device, such as its class and theGstCapsrepresenting the media types it can produce or handle.Device.Builder<B extends Device.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.The Device$Impl type represents a native instance of the abstract Device class.The class structure for aGstDeviceobject.Functional interface declaration of theRemovedCallbackcallback.Applications should create aGstDeviceMonitorwhen they want to probe, list and monitor devices of a specific type.DeviceMonitor.Builder<B extends DeviceMonitor.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Opaque device monitor class structure.AGstDeviceProvidersubclass is provided by a plugin that handles devices if there is a way to programmatically list connected devices.DeviceProvider.Builder<B extends DeviceProvider.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.The DeviceProvider$Impl type represents a native instance of the abstract DeviceProvider class.The structure of the baseGstDeviceProviderClassFunctional interface declaration of theProviderHiddenCallbackcallback.Functional interface declaration of theProviderUnhiddenCallbackcallback.GstDeviceProviderFactoryis used to create instances of device providers.DeviceProviderFactory.Builder<B extends DeviceProviderFactory.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.The opaqueGstDeviceProviderFactoryClassdata structure.A fundamental type that describes agdoublerangeGstDynamicTypeFactoryis used to represent a type that can be automatically loaded the first time it is used.DynamicTypeFactory.Builder<B extends DynamicTypeFactory.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.GstElement is the abstract base class needed to construct an element that can be used in a GStreamer pipeline.Element.Builder<B extends Element.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.The Element$Impl type represents a native instance of the abstract Element class.GStreamer element class.Functional interface declaration of theNoMorePadsCallbackcallback.Functional interface declaration of thePadAddedCallbackcallback.Functional interface declaration of thePadRemovedCallbackcallback.Functional interface declaration of theElementCallAsyncFunccallback.GstElementFactoryis used to create instances of elements.ElementFactory.Builder<B extends ElementFactory.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.A type defining the type of an element factory.The standard flags that an element may have.Functional interface declaration of theElementForeachPadFunccallback.The event class provides factory methods to construct events for sending and functions to query (parse) received events.GstEventTypelists the standard event types that can be sent in a pipeline.GstEventTypeFlagsindicate the aspects of the differentGstEventTypevalues.A fundamental type that describes a 32-bit flag bitfield, with 32-bit mask indicating which of the bits in the field are explicitly set.The result of passing data to a pad.Standard predefined formatsA format definitionA fundamental type that describes a fraction of an integer numerator over an integer denominatorA fundamental type that describes aGstFractionRangerangeThe different flags that can be set onGST_EVENT_GAPevents.GhostPads are useful when organizing pipelines withGstBinlike elements.GhostPad.Builder<B extends GhostPad.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Constants and functions that are declared in the global Gst namespace.GstObjectprovides a root for the object hierarchy tree filed in by the GStreamer library.GstObject.Builder<B extends GstObject.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Functional interface declaration of theDeepNotifyCallbackcallback.The Object$Impl type represents a native instance of the abstract GstObject class.GStreamer base object class.AGstIdStris string type optimized for short strings and used for structure names, structure field names and in other places.A fundamental type that describes agint64rangeA fundamental type that describes agintrangeA GstIterator is used to retrieve multiple objects from another object in a threadsafe way.Functional interface declaration of theIteratorCopyFunctioncallback.Functional interface declaration of theIteratorFoldFunctioncallback.Functional interface declaration of theIteratorForeachFunctioncallback.Functional interface declaration of theIteratorFreeFunctioncallback.The result of aGstIteratorItemFunction.Functional interface declaration of theIteratorItemFunctioncallback.Functional interface declaration of theIteratorNextFunctioncallback.The result of gst_iterator_next().Functional interface declaration of theIteratorResyncFunctioncallback.Library errors are for errors from the library being used by elements (initializing, finalizing, settings, ...)Flags used when locking miniobjectsFunctional interface declaration of theLogFunctioncallback.Functional interface declaration of theMainFunccallback.Functional interface declaration of theMainFuncSimplecallback.A structure containing the result of a map operation such as gst_memory_map().GstMemory is a lightweight refcounted object that wraps a region of memory.Functional interface declaration of theMemoryCopyFunctioncallback.Flags for wrapped memory.Functional interface declaration of theMemoryIsSpanFunctioncallback.Functional interface declaration of theMemoryMapFullFunctioncallback.Functional interface declaration of theMemoryMapFunctioncallback.Alias forGstMapInfoto be used with g_auto():Functional interface declaration of theMemoryShareFunctioncallback.Functional interface declaration of theMemoryUnmapFullFunctioncallback.Functional interface declaration of theMemoryUnmapFunctioncallback.Messages are implemented as a subclass ofGstMiniObjectwith a genericGstStructureas the content.The different message types that are available.TheGstMetastructure should be included as the first member of aGstBuffermetadata structure.Functional interface declaration of theMetaClearFunctioncallback.Functional interface declaration of theMetaDeserializeFunctioncallback.Extra metadata flags.Functional interface declaration of theMetaFreeFunctioncallback.TheGstMetaInfoprovides information about a specific metadata structure.Functional interface declaration of theMetaInitFunctioncallback.Functional interface declaration of theMetaSerializeFunctioncallback.Extra data passed to a "gst-copy" transformGstMetaTransformFunction.Functional interface declaration of theMetaTransformFunctioncallback.GstMiniObjectis a simple structure that can be used to implement refcounted types.Functional interface declaration of theMiniObjectCopyFunctioncallback.Functional interface declaration of theMiniObjectDisposeFunctioncallback.Flags for the mini objectFunctional interface declaration of theMiniObjectFreeFunctioncallback.Functional interface declaration of theMiniObjectNotifycallback.The standard flags that an gstobject may have.AGstElementis linked to other elements via "pads", which are extremely light-weight generic link points.Pad.Builder<B extends Pad.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Functional interface declaration of theLinkedCallbackcallback.Functional interface declaration of theUnlinkedCallbackcallback.Functional interface declaration of thePadActivateFunctioncallback.Functional interface declaration of thePadActivateModeFunctioncallback.Functional interface declaration of thePadChainFunctioncallback.Functional interface declaration of thePadChainListFunctioncallback.The direction of a pad.Functional interface declaration of thePadEventFullFunctioncallback.Functional interface declaration of thePadEventFunctioncallback.Pad state flagsFunctional interface declaration of thePadForwardFunctioncallback.Functional interface declaration of thePadGetRangeFunctioncallback.Functional interface declaration of thePadIterIntLinkFunctioncallback.The amount of checking to be done when linking pads.Functional interface declaration of thePadLinkFunctioncallback.Result values from gst_pad_link and friends.The status of a GstPad.Indicates when this pad will become available.Functional interface declaration of thePadProbeCallbackcallback.Info passed in theGstPadProbeCallback.Different return values for theGstPadProbeCallback.The different probing types that can occur.Functional interface declaration of thePadQueryFunctioncallback.Functional interface declaration of thePadStickyEventsForeachFunctioncallback.Padtemplates describe the possible media types a pad or an elementfactory can handle.PadTemplate.Builder<B extends PadTemplate.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Functional interface declaration of thePadCreatedCallbackcallback.Flags for the padtemplateFunctional interface declaration of thePadUnlinkFunctioncallback.A fundamental type that describes aGParamSpecfor arrays of valuesA fundamental type that describes aGParamSpecfor fractional propertiesA GParamSpec derived structure for arrays of values.A GParamSpec derived structure that contains the meta data for fractional properties.TheGstParentBufferMetais aGstMetawhich can be attached to aGstBufferto hold a reference to another buffer that is only released when the childGstBufferis released.Opaque structure.The different parsing errors that can occur.Parsing options.AGstPipelineis a specialGstBinused as the toplevel container for the filter graph.Pipeline.Builder<B extends Pipeline.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Pipeline flagsGStreamer is extensible, soGstElementinstances can be loaded at runtime.Plugin.Builder<B extends Plugin.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Flags used in connection with gst_plugin_add_dependency().A plugin should export a variable of this type called plugin_desc.The plugin loading errorsThis is a base class for anything that can be added to aGstPlugin.PluginFeature.Builder<B extends PluginFeature.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.The PluginFeature$Impl type represents a native instance of the abstract PluginFeature class.Functional interface declaration of thePluginFeatureFiltercallback.Functional interface declaration of thePluginFiltercallback.The plugin loading stateFunctional interface declaration of thePluginInitFullFunccallback.Functional interface declaration of thePluginInitFunccallback.AGstPollkeeps track of file descriptors much like fd_set (used with select ()) or a struct pollfd array (used with poll ()).A file descriptor object.This interface offers methods to query and manipulate parameter preset sets.The Preset$Impl type represents a native instance of the Preset interface.GstPresetinterface.The type of aMessageType.PROGRESS.TheGstPromiseobject implements the container for values that may be available later.Functional interface declaration of thePromiseChangeFunccallback.The result of aGstPromiseMetadata type that holds information about a sample from a protection-protected track, including the information needed to decrypt it (if it is encrypted).ProxyPad.Builder<B extends ProxyPad.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.The different types of QoS events that can be given to the gst_event_new_qos() method.Queries can be performed on pads (gst_pad_query()) and elements (gst_element_query()).Standard predefined Query typesGstQueryTypeFlagsindicate the aspects of the differentGstQueryTypevalues.Element priority ranks.GstReferenceTimestampMetacan be used to attach alternative timestamps and possibly durations to aGstBuffer.One registry holds the metadata of a set of plugins.Registry.Builder<B extends Registry.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Functional interface declaration of theFeatureAddedCallbackcallback.Functional interface declaration of thePluginAddedCallbackcallback.Resource errors are for any resource used by an element: memory, files, network connections, process space, ...AGstSampleis a small object containing data, a type, timing and extra arbitrary information.The different scheduling flags.The different search modes.Flags to be used with gst_element_seek() or gst_event_new_seek().The different types of seek events.This helper structure holds the relevant values for tracking the region of interest in a media file, called a segment.Flags for the GstSegment structure.TheGstSharedTaskPoolobject.SharedTaskPool.Builder<B extends SharedTaskPool.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.TheGstSharedTaskPoolClassobject.The possible states an element can be in.These are the different state changes an element goes through.The possible return values from a state change function such as gst_element_set_state().Data structure to initializeGstCapsfrom a string description usually used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to instantiate aGstCaps.Structure describing theGstStaticPadTemplate.A high-level object representing a single stream.Stream.Builder<B extends Stream.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.GstStream class structureA collection ofGstStreamthat are available.StreamCollection.Builder<B extends StreamCollection.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.GstStreamCollection class structureFunctional interface declaration of theStreamNotifyCallbackcallback.Stream errors are for anything related to the stream being processed: format errors, media type errors, ...The type of aMessageType.STREAM_STATUS.GstStreamTypedescribes a high level classification set for flows of data inGstStreamobjects.AGstStructureis a collection of key/value pairs.The type of aMessageType.STRUCTURE_CHANGE.Functional interface declaration of theStructureFilterMapFunccallback.Functional interface declaration of theStructureFilterMapIdStrFunccallback.Functional interface declaration of theStructureForeachFunccallback.Functional interface declaration of theStructureForeachIdStrFunccallback.Functional interface declaration of theStructureMapFunccallback.Functional interface declaration of theStructureMapIdStrFunccallback.The GStreamer core provides a GstSystemClock based on the system time.SystemClock.Builder<B extends SystemClock.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Extra tag flags used when registering tags.Functional interface declaration of theTagForeachFunccallback.List of tags and values used to describe media metadata.Functional interface declaration of theTagMergeFunccallback.The different tag merging modes are basically replace, overwrite and append, but they can be seen from two directions.GstTagScope specifies if a taglist applies to the complete medium or only to one single stream.Element interface that allows setting of media metadata.The TagSetter$Impl type represents a native instance of the TagSetter interface.GstTagSetterInterfaceinterface.GstTaskis used byGstElementandGstPadto provide the data passing threads in aGstPipeline.Task.Builder<B extends Task.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Functional interface declaration of theTaskFunctioncallback.This object provides an abstraction for creating threads.TaskPool.Builder<B extends TaskPool.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.TheGstTaskPoolClassobject.Functional interface declaration of theTaskPoolFunctioncallback.The different states a task can be inFunctional interface declaration of theTaskThreadFunccallback.Structure for storing a timestamp and a value.GstTocfunctions are used to create/freeGstTocandGstTocEntrystructures.The different types of TOC entries (seeGstTocEntry).How aGstTocEntryshould be repeated.The scope of a TOC.Element interface that allows setting of the TOC.The TocSetter$Impl type represents a native instance of the TocSetter interface.GstTocSetterInterfaceinterface.Tracing modules will subclassGstTracerand register through gst_tracer_register().Tracer.Builder<B extends Tracer.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.The Tracer$Impl type represents a native instance of the abstract Tracer class.Use gst_tracer_factory_get_list() to get a list of tracer factories known to GStreamer.TracerFactory.Builder<B extends TracerFactory.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Tracing modules will create instances of this class to announce the data they will log and create a log formatter.TracerRecord.Builder<B extends TracerRecord.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Flag that describe the value.Tracing record will contain fields that contain a measured value or extra meta-data.The following functions allow you to detect the media type of an unknown stream.Functional interface declaration of theGetLengthCallbackcallback.Functional interface declaration of thePeekCallbackcallback.Functional interface declaration of theSuggestCallbackcallback.These functions allow querying information about registered typefind functions.TypeFindFactory.Builder<B extends TypeFindFactory.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Functional interface declaration of theTypeFindFunctioncallback.The probability of the typefind function.AGstUriobject can be used to parse and split a URI string into its constituent parts.Different URI-related errors that can occur.TheGstURIHandleris an interface that is implemented by Source and SinkGstElementto unify handling of URI.The URIHandler$Impl type represents a native instance of the URIHandler interface.AnyGstElementusing this interface should implement these methods.The different types of URI direction.A fundamental type that describes an ordered list ofGValueFunctional interface declaration of theValueCompareFunccallback.Functional interface declaration of theValueDeserializeFunccallback.Functional interface declaration of theValueDeserializeWithPSpecFunccallback.A fundamental type that describes an unordered list ofGValueFunctional interface declaration of theValueSerializeFunccallback.VTable for theGValuetype.GstVecDequeis an object that provides standard double-ended queue (deque) functionality based on an array instead of linked lists.