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
- constructVideoAggregatorForceLive :: (IsVideoAggregator o, MonadIO m) => Bool -> m (GValueConstruct o)
- getVideoAggregatorForceLive :: (MonadIO m, IsVideoAggregator o) => o -> m Bool
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, getForceLive, 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, setForceLive, 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
Properties
forceLive
Causes the element to aggregate on a timeout even when no live source is connected to its sinks. See Aggregator:minUpstreamLatency for a companion property: in the vast majority of cases where you plan to plug in live sources with a non-zero latency, you should set it to a non-zero value.
Since: 1.22
constructVideoAggregatorForceLive :: (IsVideoAggregator o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “force-live
” property. This is rarely needed directly, but it is used by new
.
getVideoAggregatorForceLive :: (MonadIO m, IsVideoAggregator o) => o -> m Bool Source #
Get the value of the “force-live
” property.
When overloading is enabled, this is equivalent to
get
videoAggregator #forceLive