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 Aggregator
Aggregator.Aggregator$Impl, Aggregator.AggregatorClass, Aggregator.SamplesSelectedCallbackNested classes/interfaces inherited from class Element
Element.Element$Impl, Element.ElementClass, Element.NoMorePadsCallback, Element.PadAddedCallback, Element.PadRemovedCallbackNested classes/interfaces inherited from class GstObject
GstObject.DeepNotifyCallback, GstObject.Object$Impl, GstObject.ObjectClassNested classes/interfaces inherited from class InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClassNested classes/interfaces inherited from class GObject
GObject.NotifyCallback -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new VideoAggregator.VideoAggregator(MemorySegment address) Create a VideoAggregator instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected FlowReturnaggregateFrames(Buffer outbuffer) Lets subclasses aggregate frames that are ready.protected VideoAggregatorasParent()Return 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 class.protected CapsupdateCaps(Caps caps) Optional.Methods inherited from class 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 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 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 InitiallyUnowned
builderMethods inherited from class 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 TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class ProxyInstance
equals, handle, hashCode
-
Constructor Details
-
VideoAggregator
Create a VideoAggregator instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
VideoAggregator
public VideoAggregator()Create 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
Return this instance as if it were its parent type. Comparable to the Javasuperkeyword, but ensures the parent typeclass is also used in native code.- Overrides:
asParentin classAggregator- Returns:
- the instance as if it were its parent type
-
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
-