Package org.freedesktop.gstreamer.video
Class VideoAggregator
- All Implemented Interfaces:
Proxy
- Direct Known Subclasses:
VideoAggregator.VideoAggregator$Impl
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.
- Since:
- 1.16
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classVideoAggregator.Builder<B extends VideoAggregator.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static classThe VideoAggregator$Impl type represents a native instance of the abstract VideoAggregator class.static classNested classes/interfaces inherited from class org.freedesktop.gstreamer.base.Aggregator
Aggregator.Aggregator$Impl, Aggregator.AggregatorClass, Aggregator.SamplesSelectedCallbackNested classes/interfaces inherited from class org.freedesktop.gstreamer.gst.Element
Element.Element$Impl, Element.ElementClass, Element.NoMorePadsCallback, Element.PadAddedCallback, Element.PadRemovedCallbackNested classes/interfaces inherited from class org.freedesktop.gstreamer.gst.GstObject
GstObject.DeepNotifyCallback, GstObject.Object$Impl, GstObject.ObjectClassNested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClassNested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new VideoAggregator.VideoAggregator(MemorySegment address) Create a VideoAggregator proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected FlowReturnaggregateFrames(Buffer outbuffer) Lets subclasses aggregate frames that are ready.protected VideoAggregatorasParent()Returns this instance as if it were its parent type.protected FlowReturncreateOutputBuffer(Buffer[] outbuffer) Optional.protected voidfindBestFormat(Caps downstreamCaps, VideoInfo bestInfo, Out<Boolean> atLeastOneAlpha) The returnedGstTaskPoolis used internally for performing parallel video format conversions/scaling/etc during theGstVideoAggregatorPadClass::prepare_frame_start() process.static MemoryLayoutThe memory layout of the native struct.static @Nullable TypegetType()Get the GType of the VideoAggregator classprotected CapsupdateCaps(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, pushSrcEvent, selectedSamples, setForceLive, setIgnoreInactivePads, setLatency, setSrcCaps, simpleGetNextTime, sinkEvent, sinkEventPreQueue, sinkQuery, sinkQueryPreQueue, srcActivate, srcEvent, srcQuery, start, stop, updateSegment, updateSrcCapsMethods 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, unlinkPadsMethods 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, unrefMethods inherited from class org.gnome.gobject.InitiallyUnowned
builderMethods 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, 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, withPropertiesMethods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class org.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
-
VideoAggregator
public VideoAggregator()Creates a new VideoAggregator.
-
-
Method Details
-
getType
Get the GType of the VideoAggregator class- Returns:
- the GType
-
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 Javasuperkeyword, 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:
asParentin classAggregator
-
getExecutionTaskPool
The returnedGstTaskPoolis 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 returnedGstTaskPoolduringGstVideoAggregatorClass::aggregate_frames().- Returns:
- the
GstTaskPoolthat can be used by subclasses for performing concurrent operations - Since:
- 1.20
-
aggregateFrames
Lets subclasses aggregate frames that are ready. Subclasses should iterate the GstElement.sinkpads and use the already mappedGstVideoFramefrom gst_video_aggregator_pad_get_prepared_frame() or directly use theGstBufferfrom 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 aGstBufferto be used asoutbufferof theaggregate_framesvmethod. -
findBestFormat
-
updateCaps
-