Package org.freedesktop.gstreamer.gst
The following native libraries are required and will be loaded: libgstreamer-1.0.0
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_SYSTEM
can 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".
-
ClassDescriptionParameters to control the allocation of memoryMemory is usually created by allocators with a gst_allocator_alloc() method call.The
GstAllocator
is used to create new memory.The AllocatorImpl type represents a native instance of the abstract Allocator class.Allocator.Builder<B extends Allocator.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Flags for allocators.TheGstAtomicQueue
object implements a queue that can be used from multiple threads without performing any blocking operations.GstBin
is 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 theDeepElementAddedCallback
callback.Functional interface declaration of theDeepElementRemovedCallback
callback.Functional interface declaration of theDoLatencyCallback
callback.Functional interface declaration of theElementAddedCallback
callback.Functional interface declaration of theElementRemovedCallback
callback.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 theBufferForeachMetaFunc
callback.The different types of buffering methods.Buffer lists are an object containing a list of buffers.Functional interface declaration of theBufferListFunc
callback.Alias forGstMapInfo
to be used with g_auto():AGstBufferPool
is an object that can be used to pre-allocate and recycle buffers of the same size and with the same properties.TheGstBufferPool
class.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.TheGstBus
is an object responsible for deliveringGstMessage
packets 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 theMessageCallback
callback.Functional interface declaration of theSyncMessageCallback
callback.The standard flags that a bus may have.Functional interface declaration of theBusFunc
callback.Functional interface declaration of theBusSyncHandler
callback.The result values for a GstBusSyncHandler.Interface for an array of bytes.Functional interface declaration of theResizeCallback
callback.Caps (capabilities) are lightweight refcounted objects describing media types.GstCapsFeatures
can optionally be set on aGstCaps
to add requirements for additional features for a specificGstStructure
.Functional interface declaration of theCapsFilterMapFunc
callback.Extra flags for a caps.Functional interface declaration of theCapsForeachFunc
callback.Modes of caps intersectionFunctional interface declaration of theCapsMapFunc
callback.This interface abstracts handling of property sets for elements with children.Functional interface declaration of theChildAddedCallback
callback.The ChildProxyImpl type represents a native instance of the ChildProxy interface.GstChildProxy
interface.Functional interface declaration of theChildRemovedCallback
callback.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.GStreamer clock class.The ClockImpl type represents a native instance of the abstract Clock class.Functional interface declaration of theSyncedCallback
callback.Functional interface declaration of theClockCallback
callback.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.GstContext
is 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 toGObject
properties.ControlBinding.Builder<B extends ControlBinding.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.The class structure ofGstControlBinding
.The ControlBindingImpl type represents a native instance of the abstract ControlBinding class.Functional interface declaration of theControlBindingConvert
callback.TheGstControlSource
is 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 class structure ofGstControlSource
.The ControlSourceImpl type represents a native instance of the abstract ControlSource class.Functional interface declaration of theControlSourceGetValue
callback.Functional interface declaration of theControlSourceGetValueArray
callback.Core errors are errors inside the core GStreamer library.Extra custom metadata.Functional interface declaration of theCustomMetaTransformFunction
callback.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 theDebugFuncPtr
callback.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.GstDevice
are objects representing a device, they contain relevant metadata about the device, such as its class and theGstCaps
representing 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 class structure for aGstDevice
object.The DeviceImpl type represents a native instance of the abstract Device class.Functional interface declaration of theRemovedCallback
callback.Applications should create aGstDeviceMonitor
when 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.AGstDeviceProvider
subclass 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 structure of the baseGstDeviceProviderClass
The DeviceProviderImpl type represents a native instance of the abstract DeviceProvider class.Functional interface declaration of theProviderHiddenCallback
callback.Functional interface declaration of theProviderUnhiddenCallback
callback.GstDeviceProviderFactory
is 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 opaqueGstDeviceProviderFactoryClass
data structure.A fundamental type that describes agdouble
rangeGstDynamicTypeFactory
is 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.GStreamer element class.The ElementImpl type represents a native instance of the abstract Element class.Functional interface declaration of theNoMorePadsCallback
callback.Functional interface declaration of thePadAddedCallback
callback.Functional interface declaration of thePadRemovedCallback
callback.Functional interface declaration of theElementCallAsyncFunc
callback.GstElementFactory
is 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 theElementForeachPadFunc
callback.The event class provides factory methods to construct events for sending and functions to query (parse) received events.GstEventType
lists the standard event types that can be sent in a pipeline.GstEventTypeFlags
indicate the aspects of the differentGstEventType
values.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 aGstFractionRange
rangeThe different flags that can be set onGST_EVENT_GAP
events.GhostPads are useful when organizing pipelines withGstBin
like 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.GstObject
provides 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 theDeepNotifyCallback
callback.GStreamer base object class.The ObjectImpl type represents a native instance of the abstract GstObject class.A fundamental type that describes agint64
rangeA fundamental type that describes agint
rangeA GstIterator is used to retrieve multiple objects from another object in a threadsafe way.Functional interface declaration of theIteratorCopyFunction
callback.Functional interface declaration of theIteratorFoldFunction
callback.Functional interface declaration of theIteratorForeachFunction
callback.Functional interface declaration of theIteratorFreeFunction
callback.The result of aGstIteratorItemFunction
.Functional interface declaration of theIteratorItemFunction
callback.Functional interface declaration of theIteratorNextFunction
callback.The result of gst_iterator_next().Functional interface declaration of theIteratorResyncFunction
callback.Library errors are for errors from the library being used by elements (initializing, finalizing, settings, ...)Flags used when locking miniobjectsFunctional interface declaration of theLogFunction
callback.Functional interface declaration of theMainFunc
callback.Functional interface declaration of theMainFuncSimple
callback.Flags used when mapping memoryA 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 theMemoryCopyFunction
callback.Flags for wrapped memory.Functional interface declaration of theMemoryIsSpanFunction
callback.Functional interface declaration of theMemoryMapFullFunction
callback.Functional interface declaration of theMemoryMapFunction
callback.Alias forGstMapInfo
to be used with g_auto():Functional interface declaration of theMemoryShareFunction
callback.Functional interface declaration of theMemoryUnmapFullFunction
callback.Functional interface declaration of theMemoryUnmapFunction
callback.Messages are implemented as a subclass ofGstMiniObject
with a genericGstStructure
as the content.The different message types that are available.TheGstMeta
structure should be included as the first member of aGstBuffer
metadata structure.Functional interface declaration of theMetaClearFunction
callback.Functional interface declaration of theMetaDeserializeFunction
callback.Extra metadata flags.Functional interface declaration of theMetaFreeFunction
callback.TheGstMetaInfo
provides information about a specific metadata structure.Functional interface declaration of theMetaInitFunction
callback.Functional interface declaration of theMetaSerializeFunction
callback.Extra data passed to a "gst-copy" transformGstMetaTransformFunction
.Functional interface declaration of theMetaTransformFunction
callback.GstMiniObject
is a simple structure that can be used to implement refcounted types.Functional interface declaration of theMiniObjectCopyFunction
callback.Functional interface declaration of theMiniObjectDisposeFunction
callback.Flags for the mini objectFunctional interface declaration of theMiniObjectFreeFunction
callback.Functional interface declaration of theMiniObjectNotify
callback.The standard flags that an gstobject may have.AGstElement
is 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 theLinkedCallback
callback.Functional interface declaration of theUnlinkedCallback
callback.Functional interface declaration of thePadActivateFunction
callback.Functional interface declaration of thePadActivateModeFunction
callback.Functional interface declaration of thePadChainFunction
callback.Functional interface declaration of thePadChainListFunction
callback.The direction of a pad.Functional interface declaration of thePadEventFullFunction
callback.Functional interface declaration of thePadEventFunction
callback.Pad state flagsFunctional interface declaration of thePadForwardFunction
callback.Functional interface declaration of thePadGetRangeFunction
callback.Functional interface declaration of thePadIterIntLinkFunction
callback.The amount of checking to be done when linking pads.Functional interface declaration of thePadLinkFunction
callback.Result values from gst_pad_link and friends.The status of a GstPad.Indicates when this pad will become available.Functional interface declaration of thePadProbeCallback
callback.Info passed in theGstPadProbeCallback
.Different return values for theGstPadProbeCallback
.The different probing types that can occur.Functional interface declaration of thePadQueryFunction
callback.Functional interface declaration of thePadStickyEventsForeachFunction
callback.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 thePadCreatedCallback
callback.Flags for the padtemplateFunctional interface declaration of thePadUnlinkFunction
callback.A fundamental type that describes aGParamSpec
for arrays of valuesA fundamental type that describes aGParamSpec
for fractional propertiesA GParamSpec derived structure for arrays of values.A GParamSpec derived structure that contains the meta data for fractional properties.TheGstParentBufferMeta
is aGstMeta
which can be attached to aGstBuffer
to hold a reference to another buffer that is only released when the childGstBuffer
is released.Opaque structure.The different parsing errors that can occur.Parsing options.AGstPipeline
is a specialGstBin
used 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, soGstElement
instances 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 PluginFeatureImpl type represents a native instance of the abstract PluginFeature class.Functional interface declaration of thePluginFeatureFilter
callback.Functional interface declaration of thePluginFilter
callback.The plugin loading stateFunctional interface declaration of thePluginInitFullFunc
callback.Functional interface declaration of thePluginInitFunc
callback.AGstPoll
keeps 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 PresetImpl type represents a native instance of the Preset interface.GstPreset
interface.The type of aMessageType.PROGRESS
.TheGstPromise
object implements the container for values that may be available later.Functional interface declaration of thePromiseChangeFunc
callback.The result of aGstPromise
Metadata 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 typesGstQueryTypeFlags
indicate the aspects of the differentGstQueryType
values.Element priority ranks.GstReferenceTimestampMeta
can 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 theFeatureAddedCallback
callback.Functional interface declaration of thePluginAddedCallback
callback.Resource errors are for any resource used by an element: memory, files, network connections, process space, ...AGstSample
is 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.TheGstSharedTaskPool
object.SharedTaskPool.Builder<B extends SharedTaskPool.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.TheGstSharedTaskPoolClass
object.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 initializeGstCaps
from 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 ofGstStream
that 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 theStreamNotifyCallback
callback.Stream errors are for anything related to the stream being processed: format errors, media type errors, ...The type of aMessageType.STREAM_STATUS
.GstStreamType
describes a high level classification set for flows of data inGstStream
objects.AGstStructure
is a collection of key/value pairs.The type of aMessageType.STRUCTURE_CHANGE
.Functional interface declaration of theStructureFilterMapFunc
callback.Functional interface declaration of theStructureForeachFunc
callback.Functional interface declaration of theStructureMapFunc
callback.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 theTagForeachFunc
callback.List of tags and values used to describe media metadata.Functional interface declaration of theTagMergeFunc
callback.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 TagSetterImpl type represents a native instance of the TagSetter interface.GstTagSetterInterface
interface.GstTask
is used byGstElement
andGstPad
to 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 theTaskFunction
callback.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.TheGstTaskPoolClass
object.Functional interface declaration of theTaskPoolFunction
callback.The different states a task can be inFunctional interface declaration of theTaskThreadFunc
callback.Structure for storing a timestamp and a value.GstToc
functions are used to create/freeGstToc
andGstTocEntry
structures.The different types of TOC entries (seeGstTocEntry
).How aGstTocEntry
should be repeated.The scope of a TOC.Element interface that allows setting of the TOC.The TocSetterImpl type represents a native instance of the TocSetter interface.GstTocSetterInterface
interface.Tracing modules will subclassGstTracer
and 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 TracerImpl 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 theGetLengthCallback
callback.Functional interface declaration of thePeekCallback
callback.Functional interface declaration of theSuggestCallback
callback.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 theTypeFindFunction
callback.The probability of the typefind function.AGstUri
object can be used to parse and split a URI string into its constituent parts.Different URI-related errors that can occur.TheGstURIHandler
is an interface that is implemented by Source and SinkGstElement
to unify handling of URI.The URIHandlerImpl type represents a native instance of the URIHandler interface.AnyGstElement
using this interface should implement these methods.The different types of URI direction.A fundamental type that describes an ordered list ofGValue
Functional interface declaration of theValueCompareFunc
callback.Functional interface declaration of theValueDeserializeFunc
callback.Functional interface declaration of theValueDeserializeWithPSpecFunc
callback.A fundamental type that describes an unordered list ofGValue
Functional interface declaration of theValueSerializeFunc
callback.VTable for theGValue
type
.