Package org.freedesktop.gstreamer.video
Class VideoAggregator
java.lang.Object
io.github.jwharm.javagi.base.ProxyInstance
org.gnome.gobject.TypeInstance
org.gnome.gobject.GObject
org.gnome.gobject.InitiallyUnowned
org.freedesktop.gstreamer.gst.GstObject
org.freedesktop.gstreamer.gst.Element
org.freedesktop.gstreamer.base.Aggregator
org.freedesktop.gstreamer.video.VideoAggregator
- All Implemented Interfaces:
Proxy
- Direct Known Subclasses:
VideoAggregator.VideoAggregatorImpl
VideoAggregator can accept AYUV, ARGB and BGRA video streams. For each of the requested
sink pads it will compare the incoming geometry and framerate to define the
output parameters. Indeed output video frames will have the geometry of the
biggest incoming video stream and the framerate of the fastest incoming one.
VideoAggregator will do colorspace conversion.
Zorder for each input stream can be configured on the
GstVideoAggregatorPad
.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
VideoAggregator.Builder<B extends VideoAggregator.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static class
static class
The VideoAggregatorImpl type represents a native instance of the abstract VideoAggregator class.Nested classes/interfaces inherited from class org.freedesktop.gstreamer.base.Aggregator
Aggregator.AggregatorClass, Aggregator.AggregatorImpl, Aggregator.SamplesSelectedCallback
Nested classes/interfaces inherited from class org.freedesktop.gstreamer.gst.Element
Element.ElementClass, Element.ElementImpl, Element.NoMorePadsCallback, Element.PadAddedCallback, Element.PadRemovedCallback
Nested classes/interfaces inherited from class org.freedesktop.gstreamer.gst.GstObject
GstObject.DeepNotifyCallback, GstObject.ObjectClass, GstObject.ObjectImpl
Nested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClass
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback
-
Constructor Summary
ConstructorDescriptionVideoAggregator
(MemorySegment address) Create a VideoAggregator proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected FlowReturn
aggregateFrames
(Buffer outbuffer) Lets subclasses aggregate frames that are ready.protected VideoAggregator
asParent()
Returns this instance as if it were its parent type.static VideoAggregator.Builder
<? extends VideoAggregator.Builder> builder()
AVideoAggregator.Builder
object constructs aVideoAggregator
with the specified properties.protected FlowReturn
createOutputBuffer
(Buffer[] outbuffer) Optional.protected void
findBestFormat
(Caps downstreamCaps, VideoInfo bestInfo, Out<Boolean> atLeastOneAlpha) The returnedGstTaskPool
is used internally for performing parallel video format conversions/scaling/etc during theGstVideoAggregatorPadClass
::prepare_frame_start() process.static MemoryLayout
The memory layout of the native struct.static Type
getType()
Get the GType of the VideoAggregator classprotected Caps
updateCaps
(Caps caps) Optional.Methods inherited from class org.freedesktop.gstreamer.base.Aggregator
aggregate, clip, createNewPad, decideAllocation, emitSamplesSelected, finishBuffer, finishBufferList, fixateSrcCaps, flush, getAllocator, getBufferPool, getForceLive, getIgnoreInactivePads, getLatency, getNextTime, negotiate, negotiatedSrcCaps, onSamplesSelected, peekNextSample, proposeAllocation, selectedSamples, setForceLive, setIgnoreInactivePads, setLatency, setSrcCaps, simpleGetNextTime, sinkEvent, sinkEventPreQueue, sinkQuery, sinkQueryPreQueue, srcActivate, srcEvent, srcQuery, start, stop, updateSegment, updateSrcCaps
Methods inherited from class org.freedesktop.gstreamer.gst.Element
abortState, addPad, addPropertyDeepNotifyWatch, addPropertyNotifyWatch, callAsync, changeState, continueState, createAllPads, decorateStreamId, decorateStreamIdPrintf, emitNoMorePads, emitPadAdded, emitPadRemoved, foreachPad, foreachSinkPad, foreachSrcPad, getBaseTime, getBus, getClock, getCompatiblePad, getCompatiblePadTemplate, getContext, getContexts, getContextUnlocked, getCurrentClockTime, getCurrentRunningTime, getFactory, getMetadata, getPadTemplate, getPadTemplateList, getRequestPad, getStartTime, getState, getStaticPad, isLockedState, iteratePads, iterateSinkPads, iterateSrcPads, link, linkFiltered, linkMany, linkPads, linkPadsFiltered, linkPadsFull, linkPadsFull, lostState, makeFromUri, messageFull, messageFull, messageFullWithDetails, messageFullWithDetails, noMorePads, onNoMorePads, onPadAdded, onPadRemoved, padAdded, padRemoved, postMessage, provideClock, query, queryConvert, queryDuration, queryPosition, register, releasePad, releaseRequestPad, removePad, removePropertyNotifyWatch, requestPad, requestPadSimple, seek, seek, seekSimple, seekSimple, sendEvent, setBaseTime, setBus, setClock, setContext, setLockedState, setStartTime, setState, stateChanged, stateChangeReturnGetName, stateGetName, syncStateWithParent, typeSetSkipDocumentation, unlink, unlinkMany, unlinkPads
Methods inherited from class org.freedesktop.gstreamer.gst.GstObject
addControlBinding, checkUniqueness, deepNotify, defaultDeepNotify, defaultError, emitDeepNotify, getControlBinding, getControlRate, getGValueArray, getName, getParent, getPathString, getValue, getValueArray, hasActiveControlBindings, hasAncestor, hasAsAncestor, hasAsParent, onDeepNotify, ref, refSink, removeControlBinding, replace, setControlBindingDisabled, setControlBindingsDisabled, setControlRate, setName, setParent, suggestNextSync, syncValues, unparent, unref
Methods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newInstance, newInstance, newv, notify_, notify_, notifyByPspec, onNotify, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, watchClosure, weakRef, weakUnref, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
-
Constructor Details
-
VideoAggregator
Create a VideoAggregator proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()
doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName()
. This will call the native function pointer of this virtual method in the typeclass of the parent type.- Overrides:
asParent
in classAggregator
-
getExecutionTaskPool
The returnedGstTaskPool
is used internally for performing parallel video format conversions/scaling/etc during theGstVideoAggregatorPadClass
::prepare_frame_start() process. Subclasses can add their own operation to perform using the returnedGstTaskPool
duringGstVideoAggregatorClass
::aggregate_frames().- Returns:
- the
GstTaskPool
that can be used by subclasses for performing concurrent operations
-
aggregateFrames
Lets subclasses aggregate frames that are ready. Subclasses should iterate the GstElement.sinkpads and use the already mappedGstVideoFrame
from gst_video_aggregator_pad_get_prepared_frame() or directly use theGstBuffer
from gst_video_aggregator_pad_get_current_buffer() if it needs to map the buffer in a special way. The result of the aggregation should land inoutbuffer
. -
createOutputBuffer
Optional. Lets subclasses provide aGstBuffer
to be used asoutbuffer
of theaggregate_frames
vmethod. -
findBestFormat
-
updateCaps
-
builder
AVideoAggregator.Builder
object constructs aVideoAggregator
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withVideoAggregator.Builder.build()
.
-