Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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
VideoAggregatorPad
.
Since: 1.16
Synopsis
- newtype VideoAggregator = VideoAggregator (ManagedPtr VideoAggregator)
- class (GObject o, IsDescendantOf VideoAggregator o) => IsVideoAggregator o
- toVideoAggregator :: (MonadIO m, IsVideoAggregator o) => o -> m VideoAggregator
- videoAggregatorGetExecutionTaskPool :: (HasCallStack, MonadIO m, IsVideoAggregator a) => a -> m TaskPool
Exported types
newtype VideoAggregator Source #
Memory-managed wrapper type.
VideoAggregator (ManagedPtr VideoAggregator) |
Instances
class (GObject o, IsDescendantOf VideoAggregator o) => IsVideoAggregator o Source #
Type class for types which can be safely cast to VideoAggregator
, for instance with toVideoAggregator
.
Instances
(GObject o, IsDescendantOf VideoAggregator o) => IsVideoAggregator o Source # | |
Defined in GI.GstVideo.Objects.VideoAggregator |
toVideoAggregator :: (MonadIO m, IsVideoAggregator o) => o -> m VideoAggregator Source #
Cast to VideoAggregator
, for types for which this is known to be safe. For general casts, use castTo
.
Methods
Click to display all available methods, including inherited ones
Methods
abortState, addControlBinding, addPad, addPropertyDeepNotifyWatch, addPropertyNotifyWatch, bindProperty, bindPropertyFull, callAsync, changeState, continueState, createAllPads, defaultError, finishBuffer, finishBufferList, forceFloating, foreachPad, foreachSinkPad, foreachSrcPad, freezeNotify, getv, hasActiveControlBindings, hasAncestor, hasAsAncestor, hasAsParent, isFloating, isLockedState, iteratePads, iterateSinkPads, iterateSrcPads, link, linkFiltered, linkPads, linkPadsFiltered, linkPadsFull, lostState, messageFull, messageFullWithDetails, negotiate, noMorePads, notify, notifyByPspec, peekNextSample, postMessage, provideClock, query, queryConvert, queryDuration, queryPosition, ref, refSink, releaseRequestPad, removeControlBinding, removePad, removePropertyNotifyWatch, requestPad, requestPadSimple, runDispose, seek, seekSimple, selectedSamples, sendEvent, simpleGetNextTime, stealData, stealQdata, suggestNextSync, syncStateWithParent, syncValues, thawNotify, unlink, unlinkPads, unparent, unref, updateSegment, watchClosure.
Getters
getAllocator, getBaseTime, getBufferPool, getBus, getClock, getCompatiblePad, getCompatiblePadTemplate, getContext, getContextUnlocked, getContexts, getControlBinding, getControlRate, getCurrentClockTime, getCurrentRunningTime, getData, getExecutionTaskPool, getFactory, getGValueArray, getIgnoreInactivePads, getLatency, getMetadata, getName, getPadTemplate, getPadTemplateList, getParent, getPathString, getProperty, getQdata, getRequestPad, getStartTime, getState, getStaticPad, getValue.
Setters
setBaseTime, setBus, setClock, setContext, setControlBindingDisabled, setControlBindingsDisabled, setControlRate, setData, setDataFull, setIgnoreInactivePads, setLatency, setLockedState, setName, setParent, setProperty, setSrcCaps, setStartTime, setState.
getExecutionTaskPool
videoAggregatorGetExecutionTaskPool Source #
:: (HasCallStack, MonadIO m, IsVideoAggregator a) | |
=> a |
|
-> m TaskPool | Returns: the |
The returned TaskPool
is used internally for performing parallel
video format conversions/scaling/etc during the
VideoAggregatorPadClass
::prepare_frame_start
() process.
Subclasses can add their own operation to perform using the returned
TaskPool
during VideoAggregatorClass
::aggregate_frames
().
Since: 1.20